From 688fefc6ba1a0f317304212106ea4d8ce54ac183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=AB=8B=E5=B8=AE?= <3294713004@qq.com> Date: Mon, 16 Sep 2024 02:57:45 +0800 Subject: [PATCH] =?UTF-8?q?Update(boards):=20micropython=E6=9D=BF=E5=8D=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=20`build:prod`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boards/default/micropython_esp32/index.xml | 2 +- .../default/micropython_esp32/main.bundle.js | 2 +- .../{main.9e8e2453.css => main.25bd470b.css} | 0 .../build/Mixgo_Mini-v1.23.0.bin | Bin 1433872 -> 1433808 bytes .../build/Mixgo_Mini_lib-v1.23.0.bin | Bin 1697504 -> 1697424 bytes .../micropython_esp32c2/build/lib/mini_bot.py | 23 +++++++++--------- .../build/lib/mixgo_mini.py | 20 +++++++-------- .../micropython_esp32c2/build/lib/ws2812x.py | 5 ++-- boards/default/micropython_esp32c2/index.xml | 2 +- .../micropython_esp32c2/main.bundle.js | 2 +- .../{main.b73cc364.css => main.f485dfb6.css} | 0 boards/default/micropython_esp32c3/index.xml | 2 +- .../micropython_esp32c3/main.bundle.js | 2 +- .../{main.9bd681ce.css => main.ced34eb5.css} | 0 boards/default/micropython_esp32s2/index.xml | 2 +- .../micropython_esp32s2/main.bundle.js | 2 +- .../{main.2f1df1e2.css => main.4ebcc01b.css} | 0 boards/default/micropython_esp32s3/index.xml | 2 +- .../micropython_esp32s3/main.bundle.js | 2 +- .../{main.1b0705c1.css => main.2c5133e0.css} | 0 .../micropython_k210_mixgoai/index.xml | 2 +- .../{main.ae5273fa.css => main.4e66abb5.css} | 0 .../micropython_nrf51822_microbit/index.xml | 2 +- .../{main.4aa4ee0b.css => main.de8dd2dc.css} | 0 .../micropython_nrf51822_mithoncc/index.xml | 2 +- .../{main.11464331.css => main.c5b53592.css} | 0 boards/default/micropython_robot/index.xml | 2 +- .../default/micropython_robot/main.bundle.js | 2 +- .../{main.3bcb54bb.css => main.4c7b6bb5.css} | 0 29 files changed, 38 insertions(+), 40 deletions(-) rename boards/default/micropython_esp32/styles/{main.9e8e2453.css => main.25bd470b.css} (100%) rename boards/default/micropython_esp32c2/styles/{main.b73cc364.css => main.f485dfb6.css} (100%) rename boards/default/micropython_esp32c3/styles/{main.9bd681ce.css => main.ced34eb5.css} (100%) rename boards/default/micropython_esp32s2/styles/{main.2f1df1e2.css => main.4ebcc01b.css} (100%) rename boards/default/micropython_esp32s3/styles/{main.1b0705c1.css => main.2c5133e0.css} (100%) rename boards/default/micropython_k210_mixgoai/styles/{main.ae5273fa.css => main.4e66abb5.css} (100%) rename boards/default/micropython_nrf51822_microbit/styles/{main.4aa4ee0b.css => main.de8dd2dc.css} (100%) rename boards/default/micropython_nrf51822_mithoncc/styles/{main.11464331.css => main.c5b53592.css} (100%) rename boards/default/micropython_robot/styles/{main.3bcb54bb.css => main.4c7b6bb5.css} (100%) diff --git a/boards/default/micropython_esp32/index.xml b/boards/default/micropython_esp32/index.xml index 66a5a868..d232fc79 100644 --- a/boards/default/micropython_esp32/index.xml +++ b/boards/default/micropython_esp32/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180291001004404401000004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensormidi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180291001004404401000004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensormidi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file diff --git a/boards/default/micropython_esp32/main.bundle.js b/boards/default/micropython_esp32/main.bundle.js index 0906cd08..20e2d9d4 100644 --- a/boards/default/micropython_esp32/main.bundle.js +++ b/boards/default/micropython_esp32/main.bundle.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class R_{constructor(_,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),_)for(var e=_.split(","),i=0;i0;T--)t.getInputTargetBlock("IF"+T)&&t.getInputTargetBlock("IF"+T).previousConnection?e[T]=t.getInputTargetBlock("IF"+T).previousConnection:e[T]=null,this.removeInput("IF"+T),t.getInputTargetBlock("DO"+T)&&t.getInputTargetBlock("DO"+T).previousConnection?i[T]=t.getInputTargetBlock("DO"+T).previousConnection:i[T]=null,this.removeInput("DO"+T);this.elseifCount_=parseInt(_.getAttribute("elseif"),10),this.elseCount_=parseInt(_.getAttribute("else"),10);for(T=1;T<=this.elseifCount_;T++)this.appendValueInput("IF"+T).setCheck([Boolean,Number]).appendField(a_.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+T).appendField(a_.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.CONTROLS_IF_MSG_ELSE);for(T=e.length-2;T>0;T--)e[T]&&e[T].reconnect(this,"IF"+T);for(T=i.length-2;T>0;T--)i[T]&&i[T].reconnect(this,"DO"+T)},decompose:function(_){var t=_.newBlock("controls_if_if");t.initSvg();for(var e=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var T=_.newBlock("controls_if_elseif");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}if(this.elseCount_){var E=_.newBlock("controls_if_else");E.initSvg(),e.connect(E.previousConnection)}return t},compose:function(_){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var e=_.getInputTargetBlock("STACK"),i=[null],T=[null],E=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,i.push(e.valueConnection_),T.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,E=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,T,E)},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+e),T=this.getInput("DO"+e);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=T&&T.connection.targetConnection,e++;break;case"controls_if_else":T=this.getInput("ELSE");t.statementConnection_=T&&T.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var _=[null],t=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var T=this.getInput("IF"+i),E=this.getInput("DO"+i);console.log(T.connection.targetConnection),_.push(T.connection.targetConnection),t.push(E.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(_,t,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var _=1;this.getInput("IF"+_);)this.removeInput("IF"+_),this.removeInput("DO"+_),_++;for(_=1;_<=this.elseifCount_;_++)this.appendValueInput("IF"+_).setCheck([Number,Boolean]).appendField(a_.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+_).appendField(a_.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(_,t,e){for(var i=1;i<=this.elseifCount_;i++)_[i]&&_[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);e&&e.reconnect(this,"ELSE")}},Y_={init:function(){this.setColour(h_),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PYTHON_RANGE).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},U_={init:function(){this.setColour(h_),this.appendValueInput("LIST").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(a_.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},g_={init:function(){this.setColour(h_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new a_.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return{WHILE:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},B_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var _=document.createElement("mutation");return this.elseifCount_&&_.setAttribute("elseif",this.elseifCount_),this.elseCount_&&_.setAttribute("else",1),_},domToMutation:function(_){var t=this,e=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var T=this.elseifCount_;T>0;T--)t.getInputTargetBlock("IF"+T)&&t.getInputTargetBlock("IF"+T).previousConnection?e[T]=t.getInputTargetBlock("IF"+T).previousConnection:e[T]=null,this.removeInput("IF"+T),t.getInputTargetBlock("DO"+T)&&t.getInputTargetBlock("DO"+T).previousConnection?i[T]=t.getInputTargetBlock("DO"+T).previousConnection:i[T]=null,this.removeInput("DO"+T);this.elseifCount_=parseInt(_.getAttribute("elseif"),10),this.elseCount_=parseInt(_.getAttribute("else"),10);for(T=1;T<=this.elseifCount_;T++)this.appendValueInput("IF"+T).setCheck([Boolean,Number]).appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+T).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.MIXLY_PYTHON_FINALLY);for(T=e.length-2;T>0;T--)e[T]&&e[T].reconnect(this,"IF"+T);for(T=i.length-2;T>0;T--)i[T]&&i[T].reconnect(this,"DO"+T)},decompose:function(_){var t=_.newBlock("controls_try");t.initSvg();for(var e=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var T=_.newBlock("controls_except");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}if(this.elseCount_){var E=_.newBlock("controls_finally");E.initSvg(),e.connect(E.previousConnection)}return t},compose:function(_){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var e=_.getInputTargetBlock("STACK"),i=[null],T=[null],E=null;e;){switch(e.type){case"controls_except":this.elseifCount_++,i.push(e.valueConnection_),T.push(e.statementConnection_);break;case"controls_finally":this.elseCount_++,E=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,T,E)},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+e),T=this.getInput("DO"+e);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=T&&T.connection.targetConnection,e++;break;case"controls_finally":T=this.getInput("ELSE");t.statementConnection_=T&&T.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var _=[null],t=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var T=this.getInput("IF"+i),E=this.getInput("DO"+i);console.log(T.connection.targetConnection),_.push(T.connection.targetConnection),t.push(E.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(_,t,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var _=1;this.getInput("IF"+_);)this.removeInput("IF"+_),this.removeInput("DO"+_),_++;for(_=1;_<=this.elseifCount_;_++)this.appendValueInput("IF"+_).setCheck([Number,Boolean]).appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+_).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(_,t,e){for(var i=1;i<=this.elseifCount_;i++)_[i]&&_[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);e&&e.reconnect(this,"ELSE")}},G_={init:function(){this.setColour(h_);var _=new a_.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(_,"FLOW").appendField(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var _=t.getFieldValue("FLOW");return{BREAK:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[_]}))},onchange:function(){if(this.workspace){var _=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){_=!0;break}t=t.getSurroundParent()}while(t);_?this.setWarningText(null):this.setWarningText(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},F_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new a_.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){return a_.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",_.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},y_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new a_.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){return a_.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",_.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};g_.OPERATORS=[[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],G_.OPERATORS=[[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const f_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},b_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},x_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},v_={init:function(){this.setColour(h_),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},X_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},V_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},k_={init:function(){this.jsonInit({message0:a_.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:h_,tooltip:a_.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:a_.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},w_={init:function(){this.setColour(h_),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_STAT),this.setOutput(!0)}},W_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},K_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},z_={init:function(){this.appendDummyInput().appendField(a_.Msg.CONTROLS_REPEAT_TITLE_REPEAT+a_.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(a_.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new a_.FieldDropdown([[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(h_),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Z_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Q_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},J_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},q_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_GET_UNIQUE_IDEN)}},j_=230;a_.FieldTextInput.math_number_validator=function(_){return String(_)},a_.FieldTextInput.math_number_validator_include_blank=function(_){if(""===_)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(_)?String(_):null};const $_={init:function(){this.setColour(j_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},_t={init:function(){this.setColour(j_);this.appendDummyInput("").appendField(a_.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new a_.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var _=this;this.setTooltip((function(){var t=_.getFieldValue("CONSTANT");return{pi:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},tt={init:function(){this.setColour(j_);this.appendDummyInput("").appendField(a_.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new a_.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var _=this;this.setTooltip((function(){var t=_.getFieldValue("CONSTANT");return{pi:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},et={init:function(){this.setColour(j_),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{ADD:a_.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:a_.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:a_.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},it={init:function(){this.setColour(j_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{ADD:a_.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:a_.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:a_.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Tt={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new a_.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Et={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new a_.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{SIN:a_.Msg.MATH_TRIG_TOOLTIP_SIN,COS:a_.Msg.MATH_TRIG_TOOLTIP_COS,TAN:a_.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:a_.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:a_.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:a_.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:a_.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},nt={init:function(){var _=[[a_.Msg.MATH_BIN,"bin"],[a_.Msg.MATH_OCT,"oct"],[a_.Msg.MATH_HEX,"hex"]];this.setColour(j_),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new a_.FieldDropdown(_),"OP");var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{bin:a_.Msg.MATH_DEC_TOOLTIP_BIN,oct:a_.Msg.MATH_DEC_TOOLTIP_OCT,hex:a_.Msg.MATH_DEC_TOOLTIP_HEX}[_]}))}},ot={init:function(){var _=[[a_.Msg.LANG_MATH_TO_ROUND,"round"],[a_.Msg.LANG_MATH_TO_CEIL,"ceil"],[a_.Msg.LANG_MATH_TO_FLOOR,"floor"],[a_.Msg.MATH_ABS,"fabs"],[a_.Msg.MATH_SQRT,"sqrt"]];this.setColour(j_),this.appendValueInput("A").setCheck(Number).appendField(new a_.FieldDropdown(_),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{sqrt:a_.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:a_.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:a_.Msg.MATH_SINGLE_TOOLTIP_SQ,round:a_.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:a_.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:a_.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[_]}))}},st={init:function(){var _=[[a_.Msg.MIXLY_MAX,"max"],[a_.Msg.MIXLY_MIN,"min"]];this.setColour(j_),this.appendValueInput("A").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown(_),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{max:a_.Msg.MIXLY_TOOLTIP_MATH_MAX,min:a_.Msg.MIXLY_TOOLTIP_MATH_MIN}[_]}))}},Ot={init:function(){var _=[[a_.Msg.MATH_TWO,"two"],[a_.Msg.MATH_EIGHT,"eight"],[a_.Msg.MATH_TEN,"ten"],[a_.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(j_),this.appendDummyInput("").appendField(a_.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new a_.FieldDropdown(_),"OP").appendField(a_.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MATH_ZHW).appendField(new a_.FieldDropdown(_),"OP2").appendField(a_.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e={two:a_.Msg.MATH_Before_two,eight:a_.Msg.MATH_Before_eight,ten:a_.Msg.MATH_Before_ten,sixteen:a_.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),T={two:a_.Msg.MATH_Behind_two,eight:a_.Msg.MATH_Behind_eight,ten:a_.Msg.MATH_Behind_ten,sixteen:a_.Msg.MATH_Behind_sixteen};return e[_]+T[i]}))}},It={init:function(){var _=[[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(j_),this.setOutput(!0,Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_RANDOM).appendField(new a_.FieldDropdown(_),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TYPE"),e={int:a_.Msg.LANG_MATH_INT,float:a_.Msg.LANG_MATH_FLOAT_RANDOM};return a_.Msg.MATH_RANDOM_INT_TOOLTIP+e[_]}))}},at={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(a_.Msg.MATH_CONSTRAIN_TOOLTIP)}},pt={init:function(){this.setColour(j_),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(a_.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(a_.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Mt={init:function(){this.setColour(j_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},Lt={init:function(){this.setColour(j_),this.appendValueInput("NUM").setCheck(Number).appendField(a_.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Rt={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MATH_ROUND).appendField(a_.Msg.TEXT_KEEP),this.appendDummyInput().appendField(a_.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(a_.Msg.MATH_ROUND_NEW_TOOLTIP)}},rt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"],[a_.Msg.MIXLY_TO_BITES,"b"]];this.setColour(j_),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{int:a_.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:a_.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:a_.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[_]}))}},St={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(j_),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{int:a_.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:a_.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[_]}))}},lt=pt,At=160,Pt={init:function(){this.setColour(At),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(a_.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(_){if(_==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new a_.FieldImage(t,12,12,'"')}},Nt={init:function(){this.setColour(At),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(a_.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(_){if(_==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new a_.FieldImage(t,12,12,'"')}};a_.FieldTextInput.char_validator=function(_){if(_.length>1&&"\\"===_.charAt(0)){var t=_.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(_).substring(0,2);if("x"===t&&"0"===_.charAt(2)&&"B"===_.charAt(3))return String(_).substring(0,4)}return String(_).substring(0,1)};const dt={init:function(){this.setColour(At),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldTextInput("",a_.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(a_.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(_){if(1==_)var t="../../media/quote2.png";else t="../../media/quote3.png";return new a_.FieldImage(t,7,12,'"')}},ut={init:function(){this.setColour(At),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(a_.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ht={init:function(){this.setColour(At),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},mt={init:function(){this.setColour(At),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ct={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ct={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ht={init:function(){this.WHERE_OPTIONS=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.TEXT_GET_INDEX_RANDOM+1+a_.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.LISTS_GET_INDEX_GET,"MODE"),a_.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(a_.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=_.getFieldValue("WHERE"),i="";switch(t+" "+e){case"GET FROM_START":case"GET FROM_END":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=e&&"FROM_END"!=e||(i+=" "+a_.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",a_.Msg.ONE_BASED_INDEXING?"#1":"#0")),i}));var t=this;this.setTooltip((function(){var _=t.getFieldValue("WHERE"),e={FROM_START:a_.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:a_.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:a_.Msg.TEXT_GET_INDEX_RANDOM};return a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+e[_]+"n"+a_.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var _=document.createElement("mutation");_.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==a_.INPUT_VALUE;return _.setAttribute("at",t),_},domToMutation:function(_){var t="true"==_.getAttribute("statement");this.updateStatement_(t),_="false"!=_.getAttribute("at"),this.updateAt_(_)},updateStatement_:function(_){_!=!this.outputConnection&&(this.unplug(!0,!0),_?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(_){this.removeInput("AT"),this.removeInput("ORDINAL",!0),_?(this.appendValueInput("AT").setCheck(Number),a_.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(a_.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new a_.FieldDropdown(this.WHERE_OPTIONS,(function(t){var e="FROM_START"==t||"FROM_END"==t;if(e!=_){var i=this.sourceBlock_;return i.updateAt_(e),i.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),a_.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Dt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.LISTS_GET_INDEX_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+a_.Msg.LISTS_GET_INDEX_FROM_START+"n"+a_.Msg.TEXT_CHARAT2)}},Yt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(a_.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(a_.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ut={init:function(){this.WHERE_OPTIONS_1=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[a_.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(a_.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT1").type==a_.INPUT_VALUE;_.setAttribute("at1",t);var e=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",e),_},domToMutation:function(_){var t="true"==_.getAttribute("at1"),e="true"==_.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(_,t){this.removeInput("AT"+_),this.removeInput("ORDINAL"+_,!0),t?(this.appendValueInput("AT"+_).setCheck(Number),a_.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+_).appendField(a_.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+_);var e=new a_.FieldDropdown(this["WHERE_OPTIONS_"+_],(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var T=this.sourceBlock_;return T.updateAt_(_,i),T.setFieldValue(e,"WHERE"+_),null}}));this.getInput("AT"+_).appendField(e,"WHERE"+_),1==_&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},gt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(a_.Msg.LISTS_GET_INDEX_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(a_.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(a_.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Bt={init:function(){var _=[[a_.Msg.MIXLY_EQUALS,"==="],[a_.Msg.MIXLY_STARTSWITH,"startswith"],[a_.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(At),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new a_.FieldDropdown(_),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Gt={init:function(){this.setColour(At),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(a_.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_COMPARETO_HELP)}},Ft={init:function(){var _=[[a_.Msg.TEXT_UPPER,"upper"],[a_.Msg.TEXT_TITLE,"title"],[a_.Msg.TEXT_CAPITALIZE,"capitalize"],[a_.Msg.TEXT_SWAPCASE,"swapcase"],[a_.Msg.TEXT_LOWER,"lower"]];this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown(_),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("CAPITAL");return{upper:a_.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:a_.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:a_.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:a_.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:a_.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[_]}))}},yt={init:function(){var _=[[a_.Msg.TEXT_LJUST,"ljust"],[a_.Msg.TEXT_CENTER,"center"],[a_.Msg.TEXT_RJUST,"rjust"]];this.setColour(At),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(a_.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ft={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(a_.Msg.MIXLY_MID+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(a_.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},bt={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},xt={init:function(){this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(a_.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(a_.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},vt={init:function(){this.setColour(At),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(a_.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(a_.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Xt={init:function(){var _=[[a_.Msg.TEXT_TRIM_BOTH,"strip"],[a_.Msg.TEXT_TRIM_LEFT,"lstrip"],[a_.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(At),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.appendDummyInput("").appendField(a_.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{strip:a_.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:a_.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:a_.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[_]}))}},Vt={init:function(){this.setColour(At),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new a_.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("text_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;it?_[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},be={init:function(){this.setColour(ye),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},xe={init:function(){this.setColour(ye),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ve={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_KEYS),this.setTooltip(a_.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xe={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(a_.Msg.DICTS_GET_TOOLTIP)}},Ve={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(a_.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(a_.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ke={init:function(){this.setColour(ye),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(a_.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},we={init:function(){this.setColour(ye),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_DELETE_TOOLTIP)}},We={init:function(){this.setColour(ye),this.appendValueInput("DICT2").setCheck("Dict").appendField(a_.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(a_.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MID),this.setTooltip(a_.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ke={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_CLEAR),this.setTooltip(a_.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ze={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_ITEMS),this.setTooltip(a_.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ze={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_VALUES),this.setTooltip(a_.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Qe={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setTooltip(a_.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Je={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_DELDICT),this.setTooltip(a_.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qe={init:function(){this.MODE=[[a_.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[a_.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(a_.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t="";switch(_.getFieldValue("WHERE")){case"INSERT":t=a_.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=a_.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",t),_},domToMutation:function(_){var t="true"==_.getAttribute("at2");this.updateAt_(t)},updateAt_:function(_){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),_?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new a_.FieldDropdown(this.MODE,(function(t){var e="INSERT"==t;if(e!=_){var i=this.sourceBlock_;return i.updateAt_(e),i.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},je={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.setTooltip(a_.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},$e={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(a_.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_SETDEFAULT_TOOLTIP)}},_i={init:function(){this.setColour(ye),this.appendDummyInput("").appendField(new a_.FieldLabel(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new a_.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("dicts_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;it?_[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ti={init:function(){this.setColour(ye),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},ei={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TO_JSON),this.setTooltip(a_.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ii={init:function(){this.setColour(ye),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(a_.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Ti=210,Ei={init:function(){var _=a_.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{EQ:a_.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:a_.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:a_.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:a_.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:a_.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:a_.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[_]})),this.prevBlocks_=[null,null]}},ni={init:function(){var _=a_.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=a_.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP1"),this.appendValueInput("C").appendField(new a_.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},oi={init:function(){var _=[[a_.Msg.LOGIC_OPERATION_AND,"AND"],[a_.Msg.LOGIC_OPERATION_OR,"OR"],[a_.Msg.LOGIC_OPERATION_NOR,"NOR"],[a_.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{AND:a_.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:a_.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:a_.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:a_.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[_]}))}},si={init:function(){this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(a_.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(a_.Msg.LOGIC_NEGATE_TOOLTIP)}},Oi={init:function(){var _=[[a_.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[a_.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new a_.FieldDropdown(_),"BOOL"),this.setTooltip(a_.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Ii={init:function(){this.setColour(Ti),this.setOutput(!0),this.appendDummyInput().appendField(a_.Msg.LOGIC_NULL),this.setTooltip(a_.Msg.LOGIC_NULL_TOOLTIP)}},ai={init:function(){this.setColour(Ti),this.appendValueInput("A"),this.appendValueInput("B").appendField(a_.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(a_.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},pi={init:function(){var _=[[a_.Msg.TEXT_APPEND_TO,"in"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Ti),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new a_.FieldDropdown(_),"BOOL"),this.appendDummyInput("").appendField(a_.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.IN)}},Mi={init:function(){var _=[[a_.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Ti),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Li={init:function(){this.setColour(Ti),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Ri={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(a_.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ri={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Si={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG,n=a_.Msg.PY_STORAGE_FILE_OBJECT;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T+n}))}},li={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(a_.Msg.MIXPY_TEXT_ENCODE).appendField(new a_.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG,n=a_.Msg.PY_STORAGE_FILE_OBJECT;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T+n}))}},Ai={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Pi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Ni={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return e+{read:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i}))}},di={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(a_.Msg.MICROBIT_PYTHON_TYPE)}},ui={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.HTML_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},hi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},mi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Ci={init:function(){this.setColour(0),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const ci={init:function(){this.setColour(0),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Di={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Yi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return e+" "+{start:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+T+"x"+i}))}},Ui={init:function(){this.setColour(0),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},gi={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+a_.Msg.MIXLY_ESP32_SET+{mkdir:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Bi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(a_.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Gi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Fi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.HTML_FILE,"isfile"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},yi={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(a_.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fi={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(a_.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},bi={};bi.NAME_TYPE=a_.PROCEDURE_CATEGORY_NAME,bi.allProcedures=function(_){for(var t=_.getAllBlocks(!1),e=[],i=[],T=0;T"),this.appendValueInput("style").appendField(a_.Msg.MIXLY_AIP_ATTR).setAlign(a_.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(a_.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},GT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(a_.Msg.HTML_FORM_CONTENT).appendField(new a_.FieldDropdown([[a_.Msg.HTML_TEXT,"text"],[a_.Msg.HTML_EMAIL,"email"],[a_.Msg.HTML_NUMBER,"number"],[a_.Msg.HTML_PASSWORD,"password"],[a_.Msg.HTML_CHECKBOX,"checkbox"],[a_.Msg.HTML_RADIOBUTTON,"radiobutton"],[a_.Msg.HTML_BUTTON,"button"],[a_.Msg.HTML_COLOUR,"colour"],[a_.Msg.HTML_DATE,"date"],[a_.Msg.HTML_LOCALTIME,"local time"],[a_.Msg.HTML_FILE,"file"],[a_.Msg.HTML_HIDDEN,"hidden"],[a_.Msg.HTML_IMAGE,"image"],[a_.Msg.HTML_MONTH,"month"],[a_.Msg.HTML_RANGE,"range"],[a_.Msg.HTML_RESET,"reset"],[a_.Msg.HTML_SEARCH,"search"],[a_.Msg.HTML_SUBMIT,"submit"],[a_.Msg.HTML_TELEPHONENUMBER,"telephone number"],[a_.Msg.HTML_TIME,"time"],[a_.Msg.HTML_URL,"url"],[a_.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(a_.Msg.HTML_NAME).appendField(new a_.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(a_.Msg.HTML_VALUE).appendField(new a_.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(a_.Msg.MIXLY_AIP_ATTR).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(a_.Msg.HTML_TEXT).appendField(new a_.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bT=160,xT={init:function(){this.setColour(bT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new a_.FieldTable(""),"TEXT")}},vT={init:function(){this.setColour(bT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT")}},XT={init:function(){this.setColour(bT),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},VT={init:function(){this.setColour(bT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},kT={init:function(){this.setColour(bT),this.appendDummyInput().appendTitle("Comment:").appendTitle(new a_.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},wT={init:function(){this.setColour(bT),this.appendValueInput("VALUE").appendField(a_.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},WT={init:function(){this.setColour(bT),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=a_.Block.obtain(_,"text_print_multiple_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(_=function(_,t,e){return"("+_+" <= "+t+") and "+s()+"("+_+", "+t+", "+e+") or "+O()+"("+_+", "+t+", "+e+")"},a_.isNumber(i)&&a_.isNumber(T)&&a_.isNumber(E))i=parseFloat(i),T=parseFloat(T),E=Math.abs(parseFloat(E)),0==i%1&&0==T%1&&0==E%1?(i<=T?(T++,_=0==i&&1==E?T:i+", "+T,1!=E&&(_+=", "+E)):_=i+", "+--T+", -"+E,_="range("+_+")"):(_=i",GTE:">="};const Yo=function(_,t){var e=this.getFieldValue("OP"),i="&&"==e?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,T=t.valueToCode(this,"A",i)||"False",E=t.valueToCode(this,"B",i)||"False";if("AND"==e)var n=T+" and "+E;else if("OR"==e)n=T+" or "+E;else if("NOR"==e)n="not("+T+"^"+E+")";else n=T+"^"+E;return[n,i]},Uo=function(_,t){var e=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",e)||"False"),e]},go=function(_,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Bo=function(_,t){return["None",t.ORDER_ATOMIC]},Go=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+e+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Fo=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[e+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},yo=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[e+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},fo=function(_,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},bo=function(_,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},xo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},vo=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Xo=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Vo=function(_,t){var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+e+")\n"},ko=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},wo=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Wo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ko=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},zo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Zo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Qo=function(_,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Jo=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},qo=function(_,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},jo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},$o=function(_,t){var e=this.getFieldValue("MODE"),i=0;return i="start"==e?0:"current"==e?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},_s=function(_,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ts=function(_,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},es=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},is=function(_,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ts=function(_,t){t.definitions_.import_os="import os";var e=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+e+")",t.ORDER_ATOMIC]},Es=function(_,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},ns=function(_,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},os=function(_,t){var e=t.variableDB_.getName(this.getFieldValue("NAME"),a_.Procedures.NAME_TYPE),i=t.statementToCode(this,"STACK")||" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var T=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";T&&(T=" return "+T+"\n");for(var E=[],n=0;n\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Xs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+e+"\n"},Vs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var T="<"+i+'>\n\t\n'+e+"\n";else T="<"+i+">\n"+e+"\n";return T},ks=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+e+"\n"},ws=function(_,t){var e=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),T=this.getFieldValue("LEVEL");return"<"+T+" "+i+" >\n"+e+"\n"},Ws=function(_,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Ks=function(_,t){return'"},zs=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zs=function(){return this.getFieldValue("TEXT")+"\n"},Qs=function(_){return _.getFieldValue("TEXT")+"\n"},Js=function(_,t){return[_.getFieldValue("TEXT"),t.ORDER_ATOMIC]},qs=function(_,t){return(t.valueToCode(_,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},js=function(){return""},$s=function(_,t){return["type("+(t.valueToCode(_,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},_O=function(_,t){for(var e=_.getFieldValue("NAME"),i=_.hasReturn_,T=new Array(_.itemCount_),E=0;E<_.itemCount_;E++)T[E]=t.valueToCode(_,"ARGUMENT"+E,t.ORDER_NONE)||"___";var n=e+"("+T.join(", ")+")";return i?[n,t.ORDER_ATOMIC]:n+"\n"},tO=function(_,t){var e=t.valueToCode(_,"MODULE",t.ORDER_ATOMIC),i=t.valueToCode(_,"NAME",t.ORDER_ATOMIC);return[e+"."+(i=i.substring(1,i.length-1)),t.ORDER_NONE]},eO=new a_.Generator("Python");eO.INDENT=" ",eO.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),eO.ORDER_ATOMIC=0,eO.ORDER_COLLECTION=1,eO.ORDER_STRING_CONVERSION=1,eO.ORDER_UNARY_POSTFIX=1,eO.ORDER_UNARY_PREFIX=2,eO.ORDER_MEMBER=2.1,eO.ORDER_FUNCTION_CALL=2.2,eO.ORDER_EXPONENTIATION=3,eO.ORDER_UNARY_SIGN=4,eO.ORDER_BITWISE_NOT=4,eO.ORDER_MULTIPLICATIVE=5,eO.ORDER_ADDITIVE=6,eO.ORDER_BITWISE_SHIFT=7,eO.ORDER_BITWISE_AND=8,eO.ORDER_BITWISE_XOR=9,eO.ORDER_BITWISE_OR=10,eO.ORDER_RELATIONAL=11,eO.ORDER_EQUALITY=11,eO.ORDER_LOGICAL_NOT=12,eO.ORDER_LOGICAL_AND=13,eO.ORDER_LOGICAL_OR=14,eO.ORDER_ASSIGNMENT=14,eO.ORDER_CONDITIONAL=15,eO.ORDER_LAMBDA=16,eO.ORDER_NONE=99,eO.ORDER_OVERRIDES=[[eO.ORDER_FUNCTION_CALL,eO.ORDER_MEMBER],[eO.ORDER_FUNCTION_CALL,eO.ORDER_FUNCTION_CALL],[eO.ORDER_MEMBER,eO.ORDER_MEMBER],[eO.ORDER_MEMBER,eO.ORDER_FUNCTION_CALL]],eO.init=function(){eO.PASS=this.INDENT+"pass\n",eO.definitions_=Object.create(null),eO.functionNames_=Object.create(null),eO.setups_=Object.create(null),eO.loops_=Object.create(null),eO.codeEnd_=Object.create(null),eO.variableDB_?eO.variableDB_.reset():eO.variableDB_=new r_(eO.RESERVED_WORDS_)},eO.finish=function(_){""!==_&&(_=(_=_.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[];for(var e in eO.definitions_)t.push(eO.definitions_[e]);var i=[];for(var e in eO.functions_)i.push(eO.functions_[e]);var T=[];for(var e in eO.setups_)T.push(eO.setups_[e]);0!==T.length&&T.push("\n");var E=[];for(var e in eO.loops_)E.push(eO.loops_[e]);var n=[];for(var e in eO.codeEnd_)n.push(eO.codeEnd_[e]);return 0!==n.length&&n.push("\n"),E.length>0?t.join("\n")+"\n"+i.join("\n")+"\n"+T.join("")+"\n"+_+"while True:\n"+E.join("")+n.join("\n"):t.join("\n")+"\n"+i.join("\n")+"\n"+T.join("")+"\n"+_+n.join("\n")},eO.scrubNakedValue=function(_){return _+"\n"},eO.quote_=function(_){var t="'";return-1!==(_=_.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===_.indexOf('"')?t='"':_=_.replace(/'/g,"\\'")),t+_+t},eO.multiline_quote_=function(_){return"'''"+(_=_.replace(/'''/g,"\\'\\'\\'"))+"'''"},eO.scrub_=function(_,t,e){var i="";if(!_.outputConnection||!_.outputConnection.targetConnection){(E=_.getCommentText())&&(E=a_.utils.string.wrap(E,eO.COMMENT_WRAP-3),i+=eO.prefixLines(E+"\n","# "));for(var T=0;T<_.inputList.length;T++)if(_.inputList[T].type==a_.INPUT_VALUE){var E,n=_.inputList[T].connection.targetBlock();if(n)(E=eO.allNestedComments(n))&&(i+=eO.prefixLines(E,"# "))}}var o=_.nextConnection&&_.nextConnection.targetBlock();return i+t+(e?"":eO.blockToCode(o))},eO.getAdjustedInt=function(_,t,e,i){var T=e||0;_.workspace.options.oneBasedIndex&&T--;var E=_.workspace.options.oneBasedIndex?"1":"0",n=T?eO.ORDER_ADDITIVE:eO.ORDER_NONE,o=eO.valueToCode(_,t,n)||E;return a_.isNumber(o)?(o=parseInt(o,10)+T,i&&(o=-o)):(o=T>0?"int("+o+" + "+T+")":T<0?"int("+o+" - "+-T+")":"int("+o+")",i&&(o="-"+o)),o};const iO="#74A55B",TO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RGB_PIN_COUNT)}},EO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},nO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},oO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},sO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(a_.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(a_.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},OO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},IO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_RESET)}},aO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},MO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},LO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},RO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},rO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},SO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},lO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("360°"+a_.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SETTING+a_.Msg.blockpy_turtle_rotate+a_.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},AO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},PO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},NO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},uO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new a_.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(a_.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},hO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"ms32006.MOT_CW"],[a_.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[a_.Msg.MOTOR_N,"ms32006.MOT_N"],[a_.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},mO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new a_.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"ms32006.MOT_CW"],[a_.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},CO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RGB_PIN_COUNT)}},cO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},HO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},DO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_WRI)}},YO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new a_.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+a_.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},UO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},gO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},BO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(a_.Msg.MIXLY_PROGRAM_BLOCK).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},GO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(a_.Msg.MIXLY_PROGRAM_BLOCK).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},FO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},yO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},fO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_TRAFFIC_LIGHT).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LISTS_SET_INDEX_SET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_WHITE,"W"],[a_.Msg.COLOUR_RGB_RED,"R"],[a_.Msg.COLOUR_RGB_YELLOW,"Y"],[a_.Msg.COLOUR_RGB_GREEN,"G"],[a_.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_WHITE,"W"],[a_.Msg.COLOUR_RGB_RED,"R"],[a_.Msg.COLOUR_RGB_YELLOW,"Y"],[a_.Msg.COLOUR_RGB_GREEN,"G"],[a_.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},XO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[a_.Msg.MIXLY_SPEED,"[1]"],[a_.Msg.MATH_SINGLE_OP_ABSOLUTE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[a_.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[a_.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[a_.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},VO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MATH_SINGLE_OP_ABSOLUTE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"0"],[a_.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[a_.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},WO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField("("+a_.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},zO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField("("+a_.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"0"],[a_.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MOTOR,"ext_motor"],[a_.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[a_.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[a_.Msg.COLOUR_RGB_RED+"LED","R_LED"],[a_.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[a_.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[a_.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[a_.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},QO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MOTOR,"ext_motor"],[a_.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[a_.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[a_.Msg.COLOUR_RGB_RED+"LED","R_LED"],[a_.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[a_.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[a_.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[a_.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JO="#6C9858",qO={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},jO={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_ON,"1"],[a_.Msg.MIXLY_ESP32_OFF,"0"],[a_.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$O={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},_I={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},tI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},eI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_BUILDIN_LED+a_.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},iI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LCD_SETCOLOR).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LIGHT_RED,"1"],[a_.Msg.MIXLY_LIGHT_GREEN,"2"],[a_.Msg.MIXLY_LIGHT_BLUE,"3"],[a_.Msg.MIXLY_LIGHT_YELLOW,"4"],[a_.Msg.MIXLY_LIGHT_CYAN,"5"],[a_.Msg.MIXLY_LIGHT_PURPLE,"6"],[a_.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},TI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},EI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},nI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},oI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_BUILDIN_LED+a_.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},sI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},OI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(p_.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},II={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},aI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.PYTHON_RANGE_STEP).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},MI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_WRI)}},LI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(p_.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},RI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.PYTHON_RANGE_STEP).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},SI={init:function(){this.setColour(JO),this.appendValueInput("TICKS").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(a_.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(a_.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},lI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},AI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_RESET)}},PI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},NI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},dI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uI={init:function(){this.setColour(JO),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mI={init:function(){this.setColour(JO),this.appendDummyInput().appendField("MixGo Car").appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField("MixGo Car").appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([[a_.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[a_.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([[a_.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[a_.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_STOP).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},YI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[a_.Msg.MIXLY_SPEED,"SPEED"],[a_.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},UI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.MIXLY_MOTOR).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"1"],[a_.Msg.TEXT_TRIM_RIGHT,"2"],[a_.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[a_.Msg.MIXLY_SPEED,"SPEED"],[a_.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},BI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},GI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(a_.Msg.MIXLY_MOTOR).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"0"],[a_.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fI={init:function(){this.setColour(JO),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},bI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},xI={init:function(){this.setColour(JO),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_MIXBOT_BUZZER+a_.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},vI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MIXBOT_BUZZER+a_.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},XI={init:function(){this.setColour(JO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_RECORD_AUDIO).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VI={init:function(){this.setColour(JO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_AUDIO).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kI={init:function(){this.setColour(JO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},WI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT+a_.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.MIXLY_ALL+a_.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(a_.ALIGN_RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT+a_.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},QI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.ANALOG+a_.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(a_.Msg.MIXLY_RELEASE).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.ANALOG+a_.Msg.MIXLY_KEYBOARD_INPUT)}},JI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SPECIAL_KEY).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPECIAL_KEY0,"0"],[a_.Msg.MIXLY_SPECIAL_KEY1,"1"],[a_.Msg.MIXLY_SPECIAL_KEY2,"2"],[a_.Msg.MIXLY_SPECIAL_KEY1,"4"],[a_.Msg.MIXLY_SPECIAL_KEY8,"8"],[a_.Msg.MIXLY_SPECIAL_KEY16,"16"],[a_.Msg.MIXLY_SPECIAL_KEY32,"32"],[a_.Msg.MIXLY_SPECIAL_KEY64,"64"],[a_.Msg.MIXLY_SPECIAL_KEY128,"128"]]),"op"),this.setOutput(!0)}},qI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GENERAL_KEY).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPECIAL_KEY0,"0"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1","0x1E"],["2","0x1F"],["3","0x20"],["4","0x21"],["5","0x22"],["6","0x23"],["7","0x24"],["8","0x25"],["9","0x26"],["0","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["-","0x2D"],["=","0x2E"],["{","0x2F"],["}","0x30"],["\\","0x31"],[";","0x33"],['"',"0x34"],["`","0x35"],[",","0x36"],[".","0x37"],["/","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},jI={init:function(){this.setColour(JO),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new a_.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(a_.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("generalkey_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;it?_[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Qr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Jr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},jr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(a_.Msg.MIXLY_WIFI_USERNAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.MIXLY_IOT_PASSWORD).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(a_.Msg.MIXLY_EMQX_PROJECT).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(a_.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(a_.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},_S={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(a_.Msg.MIXLY_EMQX_SUBSCRIBE+a_.Msg.MIXLY_MICROBIT_MSG).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},tS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ES={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},nS={init:function(){this.setColour(Vr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},oS={init:function(){this.setColour(Vr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},sS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},OS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(a_.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},IS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+a_.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pS={init:function(){this.VISITOR_ID=p_.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Vr),this.appendDummyInput("").appendField(new a_.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const _=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==_&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},MS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},LS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("HTTP"+a_.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(a_.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(a_.Msg.MIXLY_REQUESTS_GET).appendField(a_.Msg.MIXLY_GET_CURRENT_TIME).appendField(a_.Msg.MIXLY_OPEN_DEBUG).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("HTTP"+a_.Msg.MIXLY_Client).appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_REQUESTS_LEN,"client_len"],[a_.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[a_.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},rS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MQTT"+a_.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(a_.Msg.MIXLY_INIT_SUBSCRIBE).appendField(a_.Msg.MQTT_Topic).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(a_.Msg.MIXLY_OPEN_DEBUG).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MQTT"+a_.Msg.MIXLY_Client).appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_REQUESTS_LEN,"client_len"],[a_.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[a_.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},lS=kr,AS=wr,PS=Wr,NS=Kr,dS=Zr,uS=225,hS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(a_.Msg.MIXLY_NETWORK_MODE).appendField(new a_.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[a_.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("op"),e=a_.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:a_.Msg.MIXLY_NETWORK_WIFI_OPEN,False:a_.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+e}))}},CS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},cS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:a_.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},HS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(a_.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(a_.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},DS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_CONNECT+a_.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},YS={init:function(){this.setColour(uS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(a_.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},US={init:function(){this.setColour(uS),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},gS={init:function(){this.setColour(uS),this.appendValueInput("url").appendField(a_.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},BS={init:function(){this.setColour(uS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},GS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[a_.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[a_.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("mode");return a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:a_.Msg.MIXLY_ESP32_NETWORK_IP,1:a_.Msg.MIXLY_ESP32_NETWORK_MASK,2:a_.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},FS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},yS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[a_.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},fS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(a_.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(a_.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},bS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xS={init:function(){this.setColour(uS),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("mode");return a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},vS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},XS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},VS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},kS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},wS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},WS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},KS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},zS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},ZS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},QS={init:function(){this.setColour(uS),this.appendValueInput("DOMAIN").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS_GET).appendField(new a_.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},JS={init:function(){this.appendValueInput("VAL");var _=[[a_.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(uS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown(_),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("DIR");return{clear:a_.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:a_.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:a_.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[_]}))}},qS={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(uS),this.appendDummyInput("").appendField(a_.Msg.blockpy_CONDUCT).appendField(new a_.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("DIR");return{forward:a_.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:a_.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))}},jS={init:function(){this.setColour(uS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(a_.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},$S={init:function(){this.setColour(uS),this.appendDummyInput("").appendField(new a_.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},_l=100,tl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(t),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},el={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},il={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(a_.Msg.MOTOR_DC).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Tl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(a_.Msg.MOTOR_DC).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},El={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},nl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ol={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+a_.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ol="#A58C5B",Il={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_IS_PRESSED)}},al={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_WAS_PRESSED)}},pl={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_BUTTON+a_.Msg.MIXLY_GET_PRESSES)}},Ml={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[a_.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[a_.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ll={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"],[a_.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down,freefall:a_.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+E}))}},Rl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},rl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Sl={init:function(){var _=[[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(new a_.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("WHAT");return{temperature:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[_]}))}},ll={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Al={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Pl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"left"],[a_.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{left:a_.Msg.TEXT_TRIM_LEFT,right:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},Nl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[a_.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{"get_BMP_temperature()":a_.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":a_.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},dl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[a_.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{"get_SHT_temperature()":a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},ul={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField("DS18x20 "+a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},hl={init:function(){this.setColour(Ol),this.appendDummyInput("").appendField("LM35"+a_.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LM35)}},ml={init:function(){this.setColour(Ol),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},Cl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[a_.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[a_.Msg.MIXLY_ESP32_MAX30102_IR+","+a_.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[a_.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[a_.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.HTML_COLOUR+a_.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET+a_.Msg.HTML_COLOUR,"[2]"],[a_.Msg.MIXLY_GET+a_.Msg.MIXLY_IR_STRENGTH,"[1]"],[a_.Msg.MIXLY_GET+a_.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET_ENV_LIGHT,"E"],[a_.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Bl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Gl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_Altitude+a_.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETPRESSURE,"pressure()"],[a_.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[a_.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MIXGOPE_FIELD+a_.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[a_.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down}[t]+E}))}},fl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},bl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},xl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_ESP32_SENOR_GYRO;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},vl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Xl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_GETTEMPERATUE)}},Vl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("compass");return a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},kl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},wl={init:function(){this.setColour(Ol),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Wl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[a_.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Zl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ql={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(a_.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Jl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RFID_SCAN_OK,"0"],[a_.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[a_.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ql={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},jl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},$l={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_A={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("weather_set_label_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i>6),e.push(128|63&E)):(2048<=E&&E<=55295||57344<=E&&E<=65535)&&(i+=3,e.push(224|15&E>>12),e.push(128|63&E>>6),e.push(128|63&E))}for(T=0;T>8,255&i].concat(e)}(_,!0),e="",i=0;i=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==n?(t.definitions_.import_matrix32x12="import matrix32x12",e=T+" = matrix32x12.Matrix("+E+",font_address="+o+")\n"):"16x8 Matrix"==n&&(t.definitions_.import_matrix16x8="import matrix16x8",e=T+" = matrix16x8.Matrix("+E+")\n"),e},SC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},lC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},AC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},PC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},NC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},uC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},hC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},mC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},CC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+e+".show()\n"},cC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},HC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},DC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("image"),t.ORDER_ATOMIC]},YC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+_.getFieldValue("OP")+"("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+","+t.valueToCode(_,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},UC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},gC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+","+t.valueToCode(this,"column",t.ORDER_ATOMIC)+","+e+")\n"},BC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},GC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},FC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"width",t.ORDER_ATOMIC),n=t.valueToCode(this,"height",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",s=this.getFieldValue("OP");switch(o){case"True":return e+".show_fill_rect("+i+", "+T+", "+E+", "+n+","+s+")\n";case"False":return e+".show_rect("+i+", "+T+", "+E+", "+n+","+s+")\n"}},yC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"length",t.ORDER_ATOMIC);return e+".show_"+this.getFieldValue("direction")+"("+i+", "+T+", "+E+", 1)\n"},fC=function(_,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},bC=function(_,t){t.definitions_.import_matrix="import matrix";var e=_.getFieldValue("OP");return[t.valueToCode(_,"img",t.ORDER_ATOMIC)+".shift_"+e+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",e+".show_fill("+this.getFieldValue("key")+")\n"},vC=function(_,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},XC=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"r",t.ORDER_ATOMIC),n="TRUE"==this.getFieldValue("fill")?"True":"False",o=this.getFieldValue("OP");switch(n){case"True":return e+".show_fill_circle("+i+", "+T+", "+E+", "+o+")\n";case"False":return e+".show_circle("+i+", "+T+", "+E+", "+o+")\n"}},VC=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"x0",t.ORDER_ATOMIC),T=t.valueToCode(this,"y0",t.ORDER_ATOMIC),E=t.valueToCode(this,"x1",t.ORDER_ATOMIC),n=t.valueToCode(this,"y1",t.ORDER_ATOMIC),o=t.valueToCode(this,"x2",t.ORDER_ATOMIC),s=t.valueToCode(this,"y2",t.ORDER_ATOMIC),O="TRUE"==this.getFieldValue("fill")?"True":"False",I=this.getFieldValue("OP");switch(O){case"True":return e+".show_fill_triangle("+i+", "+T+", "+E+", "+n+", "+o+", "+s+", "+I+")\n";case"False":return e+".show_triangle("+i+", "+T+", "+E+", "+n+", "+o+", "+s+", "+I+")\n"}},kC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},wC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},WC=function(_,t){var e,i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),E=this.getFieldValue("key");return"TM1650"==E?(t.definitions_.import_tm1650="import tm1650",e=i+" = tm1650."+E+"("+T+")\n"):"TM1637"==E&&(t.definitions_.import_tm1637="import tm1637",e=i+" = tm1637."+E+"("+T+")\n"),e},KC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},zC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ZC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},QC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},JC=function(_,t){t.definitions_.import_st7789="import st7789";var e=p_.Boards.getSelectedBoardKey().split(":")[2],i="";i=["mpython","mixgo_pe","mixgo_nova"].indexOf(e)>=0?"0x700000":["mixgo_zero"].indexOf(e)>=0?"0xE00000":"0x3A0000";var T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),E=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return T+" = st7789.ST7789("+E+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+",dc_pin="+o+",cs_pin="+n+",rotation="+this.getFieldValue("rotate")+",font_address="+i+")\n"},qC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=e+".image("+i+",x = "+T+",y = "+E+",size = "+n+",color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=e+".image("+i+",x = "+T+",y = "+E+",size = "+n+",color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},jC=function(_,t){var e="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&e)>>8|(64512&e)>>5|(255&e)>>3).toString(16),t.ORDER_ATOMIC]},$C=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),O=this.getFieldValue("center");if("0x"==s.slice(0,2))var I=e+".shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+O+",color="+s+")\n";else{const _=s.match(/\d+/g);var a="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");I=e+".shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+O+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return I},_c=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==n.slice(0,2))var o=e+".frame("+i+",size = "+T+",delay = "+E+",color="+n+")\n";else{const _=n.match(/\d+/g);var s="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");o=e+".frame("+i+",size = "+T+",delay = "+E+",color=0x"+((16252928&s)>>8|(64512&s)>>5|(255&s)>>3).toString(16)+")\n"}return o},tc=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var O=e+".scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color="+s+")\n";else{const _=s.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O=e+".scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color=0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\n"}return O},ec=function(_,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},ic=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"x1",t.ORDER_ATOMIC),T=t.valueToCode(this,"y1",t.ORDER_ATOMIC),E=t.valueToCode(this,"x2",t.ORDER_ATOMIC),n=t.valueToCode(this,"y2",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=e+".line("+i+", "+T+", "+E+", "+n+", color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=e+".line("+i+", "+T+", "+E+", "+n+", color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},Tc=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),T=this.getFieldValue("key"),E=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",e+" = i2clcd.LCD("+i+",lcd_width="+T+",i2c_addr="+E+")\n"},Ec=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",column = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",line = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nc=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",column = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",line = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},oc=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},sc=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Oc=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),E=p_.Boards.getSelectedBoardKey().split(":")[2],n="";return n=["mpython","mixgo_pe","mixgo_nova"].indexOf(E)>=0?"0x700000":["mixgo_zero"].indexOf(E)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",e+" = oled128x64.OLED("+i+",address="+T+",font_address="+n+")\n"},Ic=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},ac=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Lc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Rc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},rc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Sc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},lc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},Ac=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},Pc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Nc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+e+".show()\n"},dc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=_.getFieldValue("state");return e+"."+_.getFieldValue("shape")+"("+i+", "+T+", "+E+", "+n+", "+o+")\n"+e+".show()\n"},uc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=_.getFieldValue("state");return e+"."+("0"==_.getFieldValue("dir_h_v")?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\n"+e+".show()\n"},hc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".line("+t.valueToCode(_,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y2",t.ORDER_ATOMIC)+", "+_.getFieldValue("state")+")\n"+e+".show()\n"},mc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Cc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),E=this.getFieldValue("center");return"mixgo_zero"==e||"mixgo_nova"==e?(t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.shows("+i+",space = "+T+",center = "+E+")\n"):(t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.shows("+i+",space = "+T+",center = "+E+")\n")},cc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return i},Hc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Dc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return i},Yc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Uc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix."+_.getFieldValue("image"),t.ORDER_ATOMIC]},gc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix."+_.getFieldValue("image"),t.ORDER_ATOMIC]},Bc=function(_,t){var e={"#000000":"0","#ff0000":"1"};function i(_){let t="";if(_.length%2==1&&(_="0"+_),_.length<8){let t=8-_.length;for(let e=1;e<=t;e++)_="0"+_}for(let e=1;e<=_.length;e++)e%2==0&&e!==_.length?t=t+_[e-1]+",0x":t+=_[e-1];return"0x"+t}let T=[];for(let t=0;t<12;t++){let E="",n=0,o=0;for(let i=0;i<32;i++)i<8?o=7-i:i<16?o=23-i:i<24?o=39-i:i<32&&(o=55-i),n+=Number(e[_.getFieldValue(t+"-"+i)])*Math.pow(2,31-o);E+=i(n.toString(16)),T.unshift(E)}let E=[];for(let _=0;_>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},aH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=this.getFieldValue("center"),O=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==O.slice(0,2))var I="onboard_tft.shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+s+",color="+O+")\n";else{const _=O.match(/\d+/g);var a="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");I="onboard_tft.shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+s+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return I},pH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_tft","onboard_tft.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",color=0xffff)\n"},MH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==n.slice(0,2))var o="onboard_tft.frame("+i+",size = "+T+",delay = "+E+",color="+n+")\n";else{const _=n.match(/\d+/g);var s="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");o="onboard_tft.frame("+i+",size = "+T+",delay = "+E+",color=0x"+((16252928&s)>>8|(64512&s)>>5|(255&s)>>3).toString(16)+")\n"}return o},LH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_tft","onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",color=0xffff)\n"},RH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var O="onboard_tft.scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color="+s+")\n";else{const _=s.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O="onboard_tft.scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color=0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\n"}return O},rH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),s=_.getFieldValue("shape");if("0x"==o.slice(0,2))var O="onboard_tft."+s+"("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_tft.show()\n";else{const _=o.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O="onboard_tft."+s+"("+i+", "+T+", "+E+", "+n+", 0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\nonboard_tft.show()\n"}return O},SH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=_.getFieldValue("dir_h_v");if("0x"==n.slice(0,2))var s="onboard_tft."+("0"==o?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\nonboard_tft.show()\n";else{const _=n.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft."+("0"==o?"v":"h")+"line("+i+", "+T+", "+E+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},lH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x1",t.ORDER_ATOMIC),T=t.valueToCode(_,"y1",t.ORDER_ATOMIC),E=t.valueToCode(_,"x2",t.ORDER_ATOMIC),n=t.valueToCode(_,"y2",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s="onboard_tft.line("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_tft.show()\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.line("+i+", "+T+", "+E+", "+n+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},AH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},PH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},NH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft",["hex(onboard_tft.pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+")))",t.ORDER_ATOMIC]},dH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==E.slice(0,2))var n="onboard_tft.pixel(int("+i+"), int("+T+"), "+E+")\nonboard_tft.show()\n";else{const _=E.match(/\d+/g);var o="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");n="onboard_tft.pixel(int("+i+"), int("+T+"), 0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return n},uH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";return["onboard_tft.get_brightness()",t.ORDER_ATOMIC]},hH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},mH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT);if("0x"==i.slice(0,2))var T="onboard_tft.fill("+i+")\nonboard_tft.show()\n";else{const _=i.match(/\d+/g);var E="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");T="onboard_tft.fill(0x"+((16252928&E)>>8|(64512&E)>>5|(255&E)>>3).toString(16)+")\nonboard_tft.show()\n"}return T},CH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock";var i=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=n+"=Clock("+i+","+T+","+E+","+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=n+"=Clock("+i+","+T+","+E+",0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},cH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},HH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},DH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},YH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock";var i=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==T.slice(0,2))var E=i+".clear("+T+")\n";else{const _=T.match(/\d+/g);var n="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");E=i+".clear(0x"+((16252928&n)>>8|(64512&n)>>5|(255&n)>>3).toString(16)+")\n"}return E},UH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"r",t.ORDER_ATOMIC),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=_.getFieldValue("shape");if("0x"==n.slice(0,2))var s="onboard_tft.ellipse("+i+", "+T+", "+E+", "+E+", "+n+","+o+")\nonboard_tft.show()\n";else{const _=n.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.ellipse("+i+", "+T+", "+E+", "+E+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+","+o+")\nonboard_tft.show()\n"}return s},gH=function(_,t){var e=this.getFieldValue("path"),i=this.getFieldValue("module");return t.definitions_["import_"+e+"_"+i]="from "+e+" import "+i,""},BH=function(_,t){var e=this.getFieldValue("module");return t.definitions_["import_"+e]="import "+e,""},GH=function(_,t){for(var e=this.getFieldValue("NAME"),i=new Array(this.itemCount_),T=0;T {\n"+t.statementToCode(this,"do")+"})\n"},GB=function(){return"control.reset()\n"},FB=function(_,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},yB=function(_,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},fB=function(_,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},bB=function(_,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},xB=function(_,t){return["control.eventValue()",t.ORDER_ATOMIC]},vB=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XB=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},VB=function(_,t){return["control.deviceName()",t.ORDER_ATOMIC]},kB=function(_,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},wB=function(_,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},WB=function(_,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},KB=function(){return"while True:\n pass\n"},zB=function(_,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},ZB=function(_,t){return t.definitions_.import_os="import os","os.uname()"},QB=function(_,t){t.definitions_.import_time="import time";var e=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+e+")\n";case"ms":return"time.sleep_ms("+e+")\n";case"us":return"time.sleep_us("+e+")\n"}},JB=function(_,t){t.definitions_.import_time="import time";var e=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+e+")\n";case"ms":return"time.sleep_ms("+e+")\n";case"us":return"time.sleep_us("+e+")\n"}},qB=function(_,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode = Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback = "+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},jB=function(_,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},$B=function(_,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},_G=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",e+" = machine.Timer(0)\n"},tG=function(_,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},eG=function(_,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},iG=function(_,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},TG=function(_,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},EG=_G,nG=jB,oG=$B,sG=QB,OG=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},IG=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},aG=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},pG={};pG["MixGo(ESP32, 4M)"]={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},pG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:p_.Profile.generate(["0-7"]),exlcdv:p_.Profile.generate(["0-4"]),brightness:p_.Profile.generate(["0-9"]),tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},pG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},pG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const MG=pG,LG=230,RG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital),"PIN"),this.setOutput(!0)}},rG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},lG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},PG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},dG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},uG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},hG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},mG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},cG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},YG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},gG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog),"PIN"),this.setOutput(!0)}},BG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},GG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},fG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm),"PIN"),this.setOutput(!0)}},bG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},vG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch),"PIN"),this.setOutput(!0)}},XG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},VG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},kG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},wG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.imglist),"PIN"),this.setOutput(!0)}},WG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist),"PIN"),this.setOutput(!0)}},KG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},QG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},qG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},jG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},$G={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},_F={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},tF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},eF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},iF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.one_more),"PIN"),this.setOutput(!0)}},TF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},EF=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},nF=EF,oF=EF,sF=EF,OF=EF,IF=EF,aF=EF,pF=EF,MF=EF,LF=EF,RF=EF,rF=EF,SF=EF,lF=EF,AF=EF,PF=EF,NF=EF,dF=EF,uF=EF,hF=EF,mF=EF,CF=EF,cF=EF,HF=EF,DF=EF,YF=EF,UF=EF,gF=EF,BF=EF,GF=EF,FF=EF,yF=EF,fF=EF,bF=EF,xF=EF,vF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"是数字",TEXT_IS_ALPHA:"是字母",TEXT_IS_ALNUM:"是数字和字母的组合",TEXT_LIST_START:"初始化列表 [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"初始化元组 (",TEXT_TUPLE_END:")",TEXT_DICT_START:"初始化字典 {",TEXT_DICT_END:"}",TEXT_SET_START:"初始化集合 {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",ADD_COMMENT:"添加注释",CHANGE_VALUE_TITLE:"更改值:",CLEAN_UP:"整理块",COLLAPSE_ALL:"折叠块",COLLAPSE_BLOCK:"折叠块",COLOUR_BLEND_COLOUR1:"颜色1",COLOUR_BLEND_COLOUR2:"颜色2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"比例",COLOUR_BLEND_TITLE:"混合",COLOUR_BLEND_TOOLTIP:"用一个给定的比率(0.0-1.0)混合两种颜色。",COLOUR_PICKER_HELPURL:"https://zh.wikipedia.org/wiki/颜色",COLOUR_PICKER_TOOLTIP:"从调色板中选择一种颜色。",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"随机颜色",COLOUR_RANDOM_TOOLTIP:"随机选择一种颜色。",COLOUR_RGB_BLUE:"蓝色",COLOUR_RGB_GREEN:"绿色",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"红色",COLOUR_RGB_TITLE:"颜色",COLOUR_RGB_TOOLTIP:"通过指定红色、绿色和蓝色的量创建一种颜色。所有的值必须介于0和100之间。",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"中断循环",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"继续下一次循环",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"中断包含它的循环。",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"跳过这个循环的剩余部分,并继续下一次迭代。",CONTROLS_FLOW_STATEMENTS_WARNING:"警告:此块仅可用于在一个循环内。",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"为每个项目 %1 在列表中 %2",CONTROLS_FOREACH_TOOLTIP:"遍历每个列表中的项目,将变量“%1”设定到该项中,然后执行某些语句。",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"使用 %1 从范围 %2 到 %3 每隔 %4",CONTROLS_FOR_TOOLTIP:"从起始数到结尾数中取出变量“%1”的值,按指定的时间间隔,执行指定的块。",CONTROLS_IF_ELSEIF_TOOLTIP:"在if语句块中增加一个条件。",CONTROLS_IF_ELSE_TOOLTIP:"添加一个最终的,包括所有情况的节到if块中。",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",CONTROLS_IF_IF_TOOLTIP:"增加、删除或重新排列各节来重新配置“if”块。",CONTROLS_IF_MSG_ELSE:"否则",CONTROLS_IF_MSG_ELSEIF:"否则如果",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",CONTROLS_IF_MSG_IF:"如果",CONTROLS_IF_TOOLTIP_1:"如果值为真,执行一些语句。",CONTROLS_IF_TOOLTIP_2:"如果值为真,则执行第一块语句。否则,则执行第二块语句。",CONTROLS_IF_TOOLTIP_3:"如果第一个值为真,则执行第一块的语句。否则,如果第二个值为真,则执行第二块的语句。",CONTROLS_IF_TOOLTIP_4:"如果第一个值为真,则执行第一块对语句。否则,如果第二个值为真,则执行语句的第二块。如果没有值为真,则执行最后一块的语句。",CONTROLS_REPEAT_FOREVER:"一直重复",CONTROLS_REPEAT_FOREVER_TOOLTIP:"一直执行一些语句。",CONTROLS_REPEAT_HELPURL:"https://zh.wikipedia.org/wiki/For循环",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"重复 %1 次",CONTROLS_REPEAT_TOOLTIP:"多次执行一些语句。",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"重复直到",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"重复当",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"只要值为假,执行一些语句。",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"只要值为真,执行一些语句。",DELETE_ALL_BLOCKS:"删除所有%1块吗?",DELETE_BLOCK:"删除块",DELETE_VARIABLE:"删除“%1”变量",DELETE_VARIABLE_CONFIRMATION:"删除“%2”变量的%1种用途么?",DELETE_X_BLOCKS:"删除块",DISABLE_BLOCK:"禁用块",DUPLICATE_BLOCK:"复制",ENABLE_BLOCK:"启用块",EXPAND_ALL:"展开块",EXPAND_BLOCK:"展开块",EXTERNAL_INPUTS:"多行输入",HELP:"帮助",INLINE_INPUTS:"单行输入",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"创建空列表",TUPLE_CREATE_EMPTY_TITLE:"创建空元组",DICT_CREATE_EMPTY_TITLE:"创建空字典",SET_CREATE_EMPTY_TITLE:"创建空集合",LISTS_CREATE_EMPTY_TOOLTIP:"返回一个列表,长度为 0,不包含任何数据记录",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"列表",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"元组",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"字典",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"集合",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个列表块。",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个元组块。",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个字典块。",SET_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个集合块。",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"初始化列表",TUPLE_CREATE_WITH_INPUT_WITH:"初始化元组",DICT_CREATE_WITH_INPUT_WITH:"初始化字典",SET_CREATE_WITH_INPUT_WITH:"初始化集合",LISTS_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到列表中。",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到元组中。",DICT_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到字典中。",SET_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到集合中。",LISTS_CREATE_WITH_TOOLTIP:"建立一个具有任意数量项目的列表。",LISTS_GET_INDEX_FIRST:"第一",LISTS_GET_INDEX_FROM_END:"倒数第",LISTS_GET_INDEX_FROM_START:"第",LISTS_GET_INDEX_GET:"获得",LISTS_GET_INDEX_GET_REMOVE:"取出并移除",LISTS_GET_INDEX_LAST:"最后",LISTS_GET_INDEX_RANDOM:"随机",LISTS_GET_INDEX_REMOVE:"移除",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"在列表 %1 中移除 %2 项",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"返回列表中的第一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_FROM:"返回在列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"返回列表中的最后一项。",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"随机返回列表中的一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"移除并返回列表中的第一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:"移除并返回列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"移除并返回列表中的最后一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"移除并返回列表中的一个随机项目中。",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"移除列表中的第一项",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:"移除在列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"移除列表中的最后一项",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"删除列表中的一个随机的项。",LISTS_GET_SUBLIST_END_FROM_END:"到倒数第#",LISTS_GET_SUBLIST_END_FROM_START:"到#",LISTS_GET_SUBLIST_END_LAST:"到最后",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"从头获得子列表",LISTS_GET_SUBLIST_START_FROM_END:"从倒数#取得子列表",LISTS_GET_SUBLIST_START_FROM_START:"从#取得子列表",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"复制列表中指定的部分。",LISTS_INDEX_FROM_END_TOOLTIP:"%1是最后一项。",LISTS_INDEX_FROM_START_TOOLTIP:"%1是第一个项目。",LISTS_INDEX_OF_FIRST:"找出第一个项出现",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"找出最后一个项出现",LISTS_INDEX_OF_TOOLTIP:"返回在列表中的第一/最后一个匹配项的索引值。如果找不到项目则返回0",LISTS_INLIST:"在列表中",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1是空的",LISTS_ISEMPTY_TOOLTIP:"如果改列表为空,则返回真。",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"%1的长度",LISTS_LENGTH_TOOLTIP:"返回列表的长度。",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"建立列表 项 %1 重复 %2 次",LISTS_REPEAT_TOOLTIP:"建立包含指定重复次数的值的列表。",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"为",LISTS_SET_INDEX_INSERT:"插入在",LISTS_SET_INDEX_SET:"设置",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"在列表的起始处添加该项。",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:"插入在列表中指定位置的项。",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"将该项追加到列表的末尾。",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"在列表中随机插入项。",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"设置列表中的第一个项目。",LISTS_SET_INDEX_TOOLTIP_SET_FROM:"设置在列表中指定位置的项。",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"设置列表中的最后一项。",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"设置列表中一个随机的项目。",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"升序",LISTS_SORT_ORDER_DESCENDING:"降序",LISTS_SORT_TITLE:"排序%1 %2 %3",LISTS_SORT_TOOLTIP:"排序一个列表的拷贝。",LISTS_SORT_TYPE_IGNORECASE:"按字母排序,忽略大小写",LISTS_SORT_TYPE_NUMERIC:"按数字排序",LISTS_SORT_TYPE_TEXT:"按字母排序",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"从文本制作列表",LISTS_SPLIT_TEXT_FROM_LIST:"从列表组合文本",LISTS_SPLIT_TOOLTIP_JOIN:"加入文本列表至一个文本,由分隔符分隔。",LISTS_SPLIT_TOOLTIP_SPLIT:"拆分文本到文本列表,按每个分隔符拆分。",LISTS_SPLIT_WITH_DELIMITER:"用分隔符",LOGIC_BOOLEAN_FALSE:"假",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"返回真或假。",LOGIC_BOOLEAN_TRUE:"真",LOGIC_COMPARE_HELPURL:"https://zh.wikipedia.org/wiki/不等",LOGIC_COMPARE_TOOLTIP_EQ:"如果两个输入结果相等,则返回真。",LOGIC_COMPARE_TOOLTIP_GT:"如果第一个输入结果比第二个大,则返回真。",LOGIC_COMPARE_TOOLTIP_GTE:"如果第一个输入结果大于或等于第二个输入结果,则返回真。",LOGIC_COMPARE_TOOLTIP_LT:"如果第一个输入结果比第二个小,则返回真。",LOGIC_COMPARE_TOOLTIP_LTE:"如果第一个输入结果小于或等于第二个输入结果,则返回真。",LOGIC_COMPARE_TOOLTIP_NEQ:"如果两个输入结果不相等,则返回真。",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"非%1",LOGIC_NEGATE_TOOLTIP:"如果输入结果为假,则返回真;如果输入结果为真,则返回假。",LOGIC_NULL:"空",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"返回空值。",LOGIC_OPERATION_AND:"和",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"或",LOGIC_OPERATION_TOOLTIP_AND:"如果两个输入结果都为真,则返回真。",LOGIC_OPERATION_TOOLTIP_OR:"如果至少有一个输入结果为真,则返回真。",LOGIC_TERNARY_CONDITION:"测试",LOGIC_TERNARY_HELPURL:"https://zh.wikipedia.org/wiki/条件运算符",LOGIC_TERNARY_IF_FALSE:"如果为假",LOGIC_TERNARY_IF_TRUE:"如果为真",LOGIC_TERNARY_TOOLTIP:"检查“test”中的条件。如果条件为真,则返回“if true”的值,否则,则返回“if false”的值。",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://zh.wikipedia.org/wiki/算术",MATH_ARITHMETIC_TOOLTIP_ADD:"返回两个数字的和。",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"返回两个数字的商。",MATH_ARITHMETIC_TOOLTIP_MINUS:"返回两个数字的区别。",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"返回两个数字的乘积。",MATH_ARITHMETIC_TOOLTIP_POWER:"返回第一个数的第二个数次幂。",MATH_CHANGE_HELPURL:"https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%B3%95",MATH_CHANGE_TITLE:"将变量 %1 的值增加 %2",MATH_CHANGE_TOOLTIP:"将一个数添加到变量“%1”。",MATH_CONSTANT_HELPURL:"https://zh.wikipedia.org/wiki/数学常数",MATH_CONSTANT_TOOLTIP:"返回一个常见常量:π (3.141......),e (2.718...)、φ (1.618...)、 sqrt(2) (1.414......)、sqrt(½) (0.707......)或 ∞(无穷大)。",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"限制数字 %1 介于 (低) %2 到 (高) %3",MATH_CONSTRAIN_TOOLTIP:"限制数字介于两个指定的数字之间",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"强制转换数据类型",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"%1 ÷ %2 商的整数部分",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"可被整除",MATH_IS_EVEN:"是偶数",MATH_IS_NEGATIVE:"为负",MATH_IS_ODD:"是奇数",MATH_IS_POSITIVE:"为正",MATH_IS_PRIME:"是质数",MATH_IS_TOOLTIP:"如果数字是偶数、奇数、非负整数、正数、负数或如果它可被某数字整除,则返回真或假。",MATH_IS_WHOLE:"为整数",MATH_MODULO_HELPURL:"https://zh.wikipedia.org/wiki/模除",MATH_MODULO_TITLE:"%1 ÷ %2 的余数",MATH_MODULO_TOOLTIP:"返回这两个数字相除后的余数。",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"对数字进行位运算",MATH_NUMBER_HELPURL:"https://zh.wikipedia.org/wiki/数",MATH_NUMBER_TOOLTIP:"一个数字。",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"列表中的平均数",MATH_ONLIST_OPERATOR_MAX:"列表中的最大值",MATH_ONLIST_OPERATOR_MEDIAN:"列表中位数",MATH_ONLIST_OPERATOR_MIN:"列表中的最小值",MATH_ONLIST_OPERATOR_MODE:"列表模式",MATH_ONLIST_OPERATOR_RANDOM:"列表的随机项",MATH_ONLIST_OPERATOR_STD_DEV:"列表中的标准差",MATH_ONLIST_OPERATOR_SUM:"列表中的数的总和",MATH_ONLIST_TOOLTIP_AVERAGE:"返回列表中的数值的平均值。",MATH_ONLIST_TOOLTIP_MAX:"返回列表中最大数。",MATH_ONLIST_TOOLTIP_MEDIAN:"返回列表中的中位数。",MATH_ONLIST_TOOLTIP_MIN:"返回列表中最小数。",MATH_ONLIST_TOOLTIP_MODE:"返回列表中的最常见的项的列表。",MATH_ONLIST_TOOLTIP_RANDOM:"从列表中返回一个随机的元素。",MATH_ONLIST_TOOLTIP_STD_DEV:"返回列表的标准偏差。",MATH_ONLIST_TOOLTIP_SUM:"返回列表中的所有数字的和。",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://zh.wikipedia.org/wiki/随机数生成器",MATH_RANDOM_FLOAT_TITLE_RANDOM:"随机小数",MATH_RANDOM_FLOAT_TOOLTIP:"返回介于(包含)0.0到1.0之间的随机数。",MATH_RANDOM_INT_HELPURL:"https://zh.wikipedia.org/wiki/随机数生成器",MATH_RANDOM_INT_TITLE:"从 %1 到 %2 之间的随机整数",MATH_RANDOM_INT_TOOLTIP:"返回两个指定的范围(含)之间的随机整数。",MATH_ROUND_HELPURL:"https://zh.wikipedia.org/wiki/数值修约",MATH_ROUND_OPERATOR_ROUND:"四舍五入",MATH_ROUND_OPERATOR_ROUNDDOWN:"向下舍入",MATH_ROUND_OPERATOR_ROUNDUP:"向上舍入",MATH_ROUND_TOOLTIP:"数字向上或向下舍入。",MATH_SINGLE_HELPURL:"https://zh.wikipedia.org/wiki/平方根",MATH_SINGLE_OP_ABSOLUTE:"绝对",MATH_SINGLE_OP_ROOT:"平方根",MATH_SINGLE_TOOLTIP_ABS:"返回一个数的绝对值。",MATH_SINGLE_TOOLTIP_EXP:"返回数的e次幂。",MATH_SINGLE_TOOLTIP_LN:"返回一个数的自然对数。",MATH_SINGLE_TOOLTIP_LOG10:"返回数字的对数。",MATH_SINGLE_TOOLTIP_NEG:"返回数的逻辑非。",MATH_SINGLE_TOOLTIP_POW10:"返回数的10次幂。",MATH_SINGLE_TOOLTIP_ROOT:"返回数的平方根。",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://zh.wikipedia.org/wiki/三角函数",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"返回一个数的反余弦值。",MATH_TRIG_TOOLTIP_ASIN:"返回一个数的反正弦值。",MATH_TRIG_TOOLTIP_ATAN:"返回指定角度的反正切值。",MATH_TRIG_TOOLTIP_COS:"返回指定角度的余弦值(非弧度)。",MATH_TRIG_TOOLTIP_SIN:"返回指定角度的正弦值(非弧度)。",MATH_TRIG_TOOLTIP_TAN:"返回指定角度的正切值(非弧度)。",NEW_VARIABLE:"创建变量...",NEW_VARIABLE_TITLE:"新变量的名称:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"允许声明",PROCEDURES_BEFORE_PARAMS:"参数:",PROCEDURES_CALLNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLNORETURN_TOOLTIP:"运行用户定义的函数“%1”。",PROCEDURES_CALLRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLRETURN_TOOLTIP:"运行用户定义的函数“%1”,并使用它的输出值。",PROCEDURES_CALL_BEFORE_PARAMS:"与:",PROCEDURES_CREATE_DO:"创建“%1”",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"定义函数",PROCEDURES_DEFNORETURN_TOOLTIP:"创建一个不带输出值的函数。",PROCEDURES_DEFRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFRETURN_RETURN:"返回",PROCEDURES_DEFRETURN_TOOLTIP:"创建一个有输出值的函数。",PROCEDURES_DEF_DUPLICATE_WARNING:"警告: 此函数具有重复参数。",PROCEDURES_HIGHLIGHT_DEF:"突出显示函数定义",PROCEDURES_IFRETURN_HELPURL:"http://c2.com/cgi/wiki?GuardClause",PROCEDURES_IFRETURN_TOOLTIP:"如果值为真,则返回第二个值。",PROCEDURES_IFRETURN_WARNING:"警告: 仅在定义函数内可使用此块。",PROCEDURES_MUTATORARG_TITLE:"输入名称:",PROCEDURES_MUTATORARG_TOOLTIP:"添加函数输入。",PROCEDURES_MUTATORCONTAINER_TITLE:"输入",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"添加、删除或重新排此函数的输入。",REDO:"重做",REMOVE_COMMENT:"删除注释",RENAME_VARIABLE:"重命名变量...",RENAME_VARIABLE_TITLE:"将所有“%1”变量重命名为:",TEXT_APPEND_APPENDTEXT:"追加文本",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"",TEXT_APPEND_TOOLTIP:"将一些文本追加到变量“%1”。",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"转为小写",TEXT_CHANGECASE_OPERATOR_TITLECASE:"转为首字母大写",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"转为大写",TEXT_CHANGECASE_TOOLTIP:"使用不同的大小写复制这段文字。",TEXT_CHARAT_FIRST:"获得第一个字符",TEXT_CHARAT_FROM_END:"获得倒数第#个字符",TEXT_CHARAT_FROM_START:"获得字符#",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"从文本",TEXT_CHARAT_LAST:"获得最后一个字符",TEXT_CHARAT_RANDOM:"获取随机的字母",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"返回位于指定位置的字母。",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"将一个项添加到文本中。",TEXT_CREATE_JOIN_TITLE_JOIN:"加入",TEXT_CREATE_JOIN_TOOLTIP:"添加、移除或重新排列各节来重新配置这个文本块。",TEXT_GET_SUBSTRING_END_FROM_END:"到倒数第#个字符",TEXT_GET_SUBSTRING_END_FROM_START:"到字符#",TEXT_GET_SUBSTRING_END_LAST:"到最后一个字符",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"从文本",TEXT_GET_SUBSTRING_START_FIRST:"取得一段字串自第一个字符",TEXT_GET_SUBSTRING_START_FROM_END:"取得一段字串自倒数第#个字符",TEXT_GET_SUBSTRING_START_FROM_START:"取得一段字串自#",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"返回指定的部分文本。",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"在文本",TEXT_INDEXOF_OPERATOR_FIRST:"中查找 最先 出现",TEXT_INDEXOF_OPERATOR_LAST:"中查找 最后 出现",TEXT_INDEXOF_TAIL:"的位置",TEXT_INDEXOF_TOOLTIP:"返回在第二个字串中的第一/最后一个匹配项的索引值。如果未找到则返回%1。",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1是空的",TEXT_ISEMPTY_TOOLTIP:"如果提供的文本为空,则返回真。",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"转为文本",TEXT_JOIN_TOOLTIP:"通过串起任意数量的项以建立一段文字。",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"%1的长度",TEXT_LENGTH_TOOLTIP:"返回提供文本的字母数(包括空格)。",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"打印%1",MPYTHON_INPUT_MESSAGE0:"输入%1",TEXT_PRINT_TOOLTIP:"打印指定的文字、数字或其他值。",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"提示用户输入数字。",TEXT_PROMPT_TOOLTIP_TEXT:"提示用户输入一些文本。",TEXT_PROMPT_TYPE_NUMBER:"输入数字并显示提示消息",TEXT_PROMPT_TYPE_TEXT:"输入数字并显示提示消息",TEXT_TEXT_HELPURL:"https://zh.wikipedia.org/wiki/字符串",TEXT_TEXT_TOOLTIP:"一个字母、单词或一行文本。",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"消除两侧空格",TEXT_TRIM_OPERATOR_LEFT:"消除左侧空格",TEXT_TRIM_OPERATOR_RIGHT:"消除右侧空格",TEXT_TRIM_TOOLTIP:"复制这段文字的同时删除两端多余的空格。",TODAY:"今天",UNDO:"撤销",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"创建“设定%1”",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"返回此变量的值。",VARIABLES_SET:"将变量 %1 设定为 %2",VARIABLES_SET_CREATE_GET:"创建“获得%1”",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"设置此变量,以使它和输入值相等。",VARIABLE_ALREADY_EXISTS:"已存在名为“%1”的变量。"};vF.PROCEDURES_DEFRETURN_TITLE=vF.PROCEDURES_DEFNORETURN_TITLE,vF.CONTROLS_IF_IF_TITLE_IF=vF.CONTROLS_IF_MSG_IF,vF.CONTROLS_WHILEUNTIL_INPUT_DO=vF.CONTROLS_REPEAT_INPUT_DO,vF.CONTROLS_IF_MSG_THEN=vF.CONTROLS_REPEAT_INPUT_DO,vF.TRY_EXCEPT_TRY="try",vF.CONTROLS_IF_ELSE_TITLE_ELSE=vF.CONTROLS_IF_MSG_ELSE,vF.CONTROLS_IF_ELSE_TITLE_ELSE=vF.CONTROLS_IF_MSG_ELSE,vF.PROCEDURES_DEFRETURN_PROCEDURE=vF.PROCEDURES_DEFNORETURN_PROCEDURE,vF.LISTS_GET_SUBLIST_INPUT_IN_LIST=vF.LISTS_INLIST,vF.LISTS_GET_INDEX_INPUT_IN_LIST=vF.LISTS_INLIST,vF.PROCEDURES_DEFRETURN_DO=vF.PROCEDURES_DEFNORETURN_DO,vF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=vF.CONTROLS_IF_MSG_ELSEIF,vF.LISTS_GET_INDEX_HELPURL=vF.LISTS_INDEX_OF_HELPURL,vF.CONTROLS_FOREACH_INPUT_DO=vF.CONTROLS_REPEAT_INPUT_DO,vF.LISTS_SET_INDEX_INPUT_IN_LIST=vF.LISTS_INLIST,vF.CONTROLS_FOR_INPUT_DO=vF.CONTROLS_REPEAT_INPUT_DO,vF.LISTS_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.TUPLE_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.DICT_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.SET_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.TEXT_APPEND_VARIABLE=vF.VARIABLES_DEFAULT_NAME,vF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=vF.VARIABLES_DEFAULT_NAME,vF.MATH_CHANGE_TITLE_ITEM=vF.VARIABLES_DEFAULT_NAME,vF.LISTS_INDEX_OF_INPUT_IN_LIST=vF.LISTS_INLIST,vF.PROCEDURES_DEFRETURN_COMMENT=vF.PROCEDURES_DEFNORETURN_COMMENT,vF.MPYTHON_MAIN_HELPURL="",vF.MPYTHON_MAIN_TOOLTIP="",vF.MPYTHON_MAIN_MESSAGE0="主程序",vF.MPYTHON_OPEN="开启",vF.MPYTHON_CLOSE="关闭",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",vF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",vF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",vF.MPYTHON_AI_SENSOR_ENABLE_START="开始抓取图像",vF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取图像",vF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平镜像",vF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻转",vF.MPYTHON_AI_SENSOR_SETS_CONTRAST="对比度",vF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",vF.MPYTHON_AI_SENSOR_SETS_SATURATION="饱和度",vF.MPYTHON_AI2_FACE_YOLO="人脸识别",vF.MPYTHON_AI2_CLASS_20_YOLO="20类识别",vF.MPYTHON_AI2_MNIST_NET="数字识别",vF.MPYTHON_AI2_PHOTOGRAPH_FACE_YOLO="人脸",vF.MPYTHON_AI2_PHOTOGRAPH_CLASS_20_YOLO="20类",vF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",vF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",vF.TEXT_APPEND_TEXT_HELPURL="",vF.TEXT_APPEND_TEXT_TOOLTIP="",vF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",vF.CHINA_CITY_MESSAGE0="%1 %2",vF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",vF.CHINA_CITY_CNNAME="中文简称",vF.CHINA_CITY_PINYIN="拼音",vF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",vF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",vF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",vF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",vF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天气] %1 信息 %2 地理位置 %3 API私钥 %4 %5 语言 %6 %7 温度单位 %8",vF.MPYTHON_SENIVERSE_WEATHER_API_1="天气实况",vF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天气预报",vF.MPYTHON_SENIVERSE_WEATHER_API_3="6项生活指数",vF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="摄氏度",vF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="华氏度",vF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",vF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",vF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="设定 %1 为 %2",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天气] 通用字段 %2",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天气] 天气实况 %2",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="风向角度,范围0~360\n风速,单位km/h(当unit=c时)、mph(当unit=f时)",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天气] 3天天气预报 %2 的 %3",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天气] 6项生活指数 %2",vF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名称",vF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",vF.MPYTHON_SENIVERSE_WEATHER_country="国家代码",vF.MPYTHON_SENIVERSE_WEATHER_path="行政归属",vF.MPYTHON_SENIVERSE_WEATHER_timezone="时区",vF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",vF.MPYTHON_SENIVERSE_WEATHER_last_update_date="数据更新日期",vF.MPYTHON_SENIVERSE_WEATHER_last_update="数据更新时间",vF.MPYTHON_SENIVERSE_WEATHER_object="原始字典对象",vF.MPYTHON_SENIVERSE_WEATHER_text="天气现象",vF.MPYTHON_SENIVERSE_WEATHER_code="天气现象代码",vF.MPYTHON_SENIVERSE_WEATHER_temperature="温度",vF.MPYTHON_SENIVERSE_WEATHER_today="今天",vF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",vF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="后天",vF.MPYTHON_SENIVERSE_WEATHER_date="日期",vF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天气现象",vF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天气现象代码",vF.MPYTHON_SENIVERSE_WEATHER_text_night="晚间天气现象",vF.MPYTHON_SENIVERSE_WEATHER_code_night="晚间天气现象代码",vF.MPYTHON_SENIVERSE_WEATHER_high="当天最高温度",vF.MPYTHON_SENIVERSE_WEATHER_low="当天最低温度",vF.MPYTHON_SENIVERSE_WEATHER_wind_direction="风向",vF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="风向角度",vF.MPYTHON_SENIVERSE_WEATHER_wind_speed="风速",vF.MPYTHON_SENIVERSE_WEATHER_wind_scale="风力等级",vF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗车指数",vF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指数",vF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指数",vF.MPYTHON_SENIVERSE_WEATHER_sport="运动指数",vF.MPYTHON_SENIVERSE_WEATHER_travel="旅游指数",vF.MPYTHON_SENIVERSE_WEATHER_uv="紫外线指数",vF.MPYTHON_RED="红",vF.MPYTHON_GREEN="绿",vF.MPYTHON_BLUE="蓝",vF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射频卡 读取电子钱包 数据",vF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="读取块数据,长度16字节",vF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射频卡 写入电子钱包 数据%1",vF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="写入块数据,长度16字节",vF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射频卡 给电子钱包%1 金额%2",vF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",vF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣费",vF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射频卡 获取电子钱包余额",vF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射频卡 获取序列号",vF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射频卡 初始化电子钱包",vF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射频卡 扫描",vF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超声波",vF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",vF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被触发 引脚%2",vF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",vF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模拟值 引脚%2",vF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",vF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="设置LED灯 输出%1 引脚%2",vF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循迹传感器 检测为黑 引脚%1",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打开 %1 引脚 %2",vF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="关闭 %1 引脚 %2",vF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",vF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",vF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 %2 REC %3 PLAY %4",vF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",vF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 %1 REC %2 PLAY %3",vF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",vF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="录音",vF.MPYTHON_BLUEBIT_IR_RECEIVE="红外探测",vF.MPYTHON_BLUEBIT_SOUND="麦克风",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循迹",vF.MPYTHON_BLUEBIT_VIBRATION="震动",vF.MPYTHON_BLUEBIT_RFID="射频卡",vF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指纹",vF.MPYTHON_BLUEBIT_PIR="人体感应",vF.MPYTHON_BLUEBIT_MAGNETIC="门磁开关",vF.MPYTHON_BLUEBIT_BUTTON="按键",vF.MPYTHON_BLUEBIT_RELAY="继电器",vF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位开关",vF.MPYTHON_BLUEBIT_FAN="风扇",vF.MPYTHON_BLUEBIT_LASER="激光",vF.MPYTHON_BLUEBIT_NTC_TEMP="热敏电阻",vF.MPYTHON_BLUEBIT_WATER="水位",vF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤湿度",vF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋钮电位器",vF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑电位器",vF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模拟光线",vF.MPYTHON_BLUEBIT_LM35_TEMP="LM35温度",vF.MPYTHON_BLUEBIT_SMOKE="烟雾",vF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正转",vF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反转",vF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",vF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤湿度",vF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤湿度(新)%1",vF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",vF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",vF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",vF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",vF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",vF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打开风扇 %1",vF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",vF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 关闭风扇 %1",vF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",vF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",vF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",vF.BLUE="A",vF.GREEN="B",vF.RED="C",vF.YELLOW="D",vF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",vF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",vF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",vF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",vF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打开直流电机 %1 %2 速度 %3",vF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",vF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 关闭直流电机",vF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",vF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="编码电机 模式 %1 拨码 %2 M1速度 %3 M2速度 %4",vF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止编码电机转动",vF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止编码电机转动 %1",vF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",vF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",vF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",vF.MPYTHON_BLUEBIT_TEMPERATURE="温度",vF.MPYTHON_BLUEBIT_HUMIDITY="湿度",vF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",vF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",vF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",vF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",vF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="设MIDI音量 %1",vF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",vF.MIDI_PIANO="平台钢琴",vF.MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",vF.MIDI_ELECTRICGRANDPIANO="电钢琴",vF.MIDI_HARPSICHORD="大键琴",vF.MIDI_CELESTA="钢片琴",vF.MIDI_GLOCKENSPIEL="钟琴",vF.MIDI_MUSICALBOX="音乐盒",vF.MIDI_MARIMBA="马林巴琴",vF.MIDI_XYLOPHONE="木琴",vF.MIDI_TUBULARBELL="管钟",vF.MIDI_DULCIMER="洋琴",vF.MIDI_VIBRAPHONE="颤音琴",vF.MIDI_ORGAN="音栓风琴",vF.MIDI_ACOUSTIC_GUITAR="木吉他",vF.MIDI_ELECTRIC_GUITAR="电吉他",vF.MIDI_ACOUSTIC_BASS="民谣贝斯",vF.MIDI_STRING_ENSEMBLE="弦乐合奏",vF.MIDI_VIOLIN="小提琴",vF.MIDI_TRUMPET="小号",vF.MIDI_SAX="萨克斯",vF.MIDI_STEEL_DRUMS="钢鼓",vF.MIDI_LEAD="合成音主旋律",vF.MIDI_PAD="合成音衬底",vF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",vF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="设MIDI乐器 %1",vF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",vF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",vF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音调 %2",vF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",vF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="设点阵亮度等級 %1",vF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",vF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="点阵 %1",vF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",vF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0="设置点阵 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",vF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",vF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="点阵设置生效",vF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",vF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="设MP3音量 %1",vF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",vF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",vF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚连接音乐模块的 RXI 引脚",vF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",vF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",vF.MPYTHON_PLUS_1="加1",vF.MPYTHON_MINUS_1="減1",vF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",vF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",vF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",vF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",vF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="MP3 单曲循环 %1",vF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",vF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",vF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="设扩展端口 IO %2 为 %1",vF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",vF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",vF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="扩展端口值 IO %1",vF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",vF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",vF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="设扩展端口 IO %2 为 %1",vF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",vF.MPYTHON_LCD_OBJECT_HELPURL="",vF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",vF.MPYTHON_LCD_OBJECT_TOOLTIP="",vF.MPYTHON_LCD_PRINT_HELPURL="",vF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 显示 %1",vF.MPYTHON_LCD_PRINT_TOOLTIP="",vF.MPYTHON_LCD_HOME_HELPURL="",vF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光标 回到原点",vF.MPYTHON_LCD_HOME_TOOLTIP="",vF.MPYTHON_LCD_CURSOR_HELPURL="",vF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光标 %1",vF.MPYTHON_LCD_CURSOR_TOOLTIP="",vF.MPYTHON_LCD_SET_CURSOR_HELPURL="",vF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始点 行 %2 列 %1",vF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列从0开始计数",vF.MPYTHON_LCD_CLEAR_HELPURL="",vF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",vF.MPYTHON_LCD_CLEAR_TOOLTIP="",vF.MPYTHON_LCD_CURSOR_BLINK="闪烁",vF.MPYTHON_LCD_CURSOR_NO_BLINK="不闪烁",vF.MPYTHON_LEFT_TO_RIGHT="从左向右",vF.MPYTHON_RIGHT_TO_LEFT="从右向左",vF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",vF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",vF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",vF.MPYTHON_LCD_MOVE_HELPURL="",vF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滚动一格",vF.MPYTHON_LCD_MOVE_TOOLTIP="",vF.MPYTHON_IR_TRANS_HELPURL="",vF.MPYTHON_IR_TRANS_MESSAGE0="红外发送 单字节字符串 %1 tx 引脚 %2",vF.MPYTHON_IR_TRANS_TOOLTIP="\n单字节字符串:\n'A', 'b', '1'等",vF.OUTPUT_PIN_HELPURL="",vF.OUTPUT_PIN_MESSAGE0="%1",vF.OUTPUT_PIN_TOOLTIP="",vF.INPUT_PIN_HELPURL="",vF.INPUT_PIN_MESSAGE0="%1",vF.INPUT_PIN_TOOLTIP="",vF.READ_ANALOG_PIN_HELPURL="",vF.READ_ANALOG_PIN_MESSAGE0="%1",vF.READ_ANALOG_PIN_TOOLTIP="",vF.SET_DIGITAL_HELPURL="",vF.SET_DIGITAL_MESSAGE0="%1",vF.SET_DIGITAL_TOOLTIP="",vF.SET_ANALOG_HELPURL="",vF.SET_ANALOG_MESSAGE0="%1",vF.SET_ANALOG_TOOLTIP="",vF.ALL_PIN_HELPURL="",vF.ALL_PIN_MESSAGE0="%1",vF.ALL_PIN_TOOLTIP="",vF.PWM_PIN_HELPURL="",vF.PWM_PIN_MESSAGE0="%1",vF.PWM_PIN_TOOLTIP="",vF.DH11_HUM_TEM_PIN_HELPURL="",vF.DH11_HUM_TEM_PIN_MESSAGE0="%1",vF.DH11_HUM_TEM_PIN_TOOLTIP="",vF.UART_TX_PIN_HELPURL="",vF.UART_TX_PIN_MESSAGE0="%1",vF.UART_TX_PIN_TOOLTIP="",vF.UART_RX_PIN_HELPURL="",vF.UART_RX_PIN_MESSAGE0="%1",vF.UART_RX_PIN_TOOLTIP="",vF.I2C_PIN_HELPURL="",vF.I2C_PIN_MESSAGE0="%1",vF.I2C_PIN_TOOLTIP="",vF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",vF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",vF.MQTT_COMMON_SETUP_TOOLTIP="",vF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",vF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",vF.MQTT_TENCENT_SETUP_TOOLTIP="",vF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",vF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",vF.MQTT_TENCENT_SETUPS_TOOLTIP="",vF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服务器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",vF.MQTT_SETUP_TOOLTIP="",vF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_CONNECT_MESSAGE0="连接 MQTT",vF.MQTT_CONNECT_TOOLTIP="",vF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_PUBLISH_MESSAGE0="发布 %1 至 主题 %2",vF.MQTT_PUBLISH_TOOLTIP="",vF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_REC_FROM_TOPIC_MESSAGE0="当从主题 %1 接收到 %2 时",vF.MQTT_REC_FROM_TOPIC_TOOLTIP="",vF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_RECEIVE_MESSAGE0="当从主题 %1 接收到 %2 时",vF.MQTT_RECEIVE_TOOLTIP='参数"主题"只接受变量',vF.MQTT_RECEIVED_MESSAGE0="当从主题 %1 接收到消息 时",vF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_MESSAGE_MESSAGE0="从 MQTT 收到的消息",vF.MQTT_MESSAGE_TOOLTIP="",vF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_WAIT_MSG_MESSAGE0="等待主题消息 以 %1 模式",vF.MQTT_WAIT_MSG_TOOLTIP="建议放在'一直重复'中运行",vF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_DISCONNECT_MESSAGE0="MQTT 断开连接",vF.MQTT_DISCONNECT_TOOLTIP="",vF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",vF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",vF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",vF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",vF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",vF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",vF.MPYTHON_SIOT_CONNECT_HELPURL="",vF.MPYTHON_SIOT_CONNECT_TOOLTIP="",vF.MPYTHON_SIOT_CONNECT_MESSAGE0="创建 SIoT 连接 %1 客户端ID %2 服务器 %3 用户 %4 密码 %5",vF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",vF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",vF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 连接成功 ?",vF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",vF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",vF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 订阅主题",vF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="点击左边星号 订阅 SIoT 主题",vF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 订阅 主题1",vF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主题",vF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",vF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多订阅 5 个主题",vF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",vF.MPYTHON_SIOT_DISCONNECT_HELPURL="",vF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",vF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 断开连接",vF.MPYTHON_SIOT_MESSAGE_HELPURL="",vF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",vF.MPYTHON_SIOT_MESSAGE_MESSAGE0="从 SIoT 收到的消息",vF.MPYTHON_SIOT_TOPIC1="主题1",vF.MPYTHON_SIOT_TOPIC2="主题2",vF.MPYTHON_SIOT_TOPIC3="主题3",vF.MPYTHON_SIOT_TOPIC4="主题4",vF.MPYTHON_SIOT_TOPIC5="主题5",vF.MPYTHON_SIOT_PUBLISH_HELPURL="",vF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",vF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 发送消息 %1 到 %2",vF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 发送消息 %1 到 主题 %2",vF.MPYTHON_SIOT_RECEIVE_HELPURL="",vF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",vF.MPYTHON_SIOT_RECEIVE_MESSAGE0="当从 SIoT %1 收到消息时 %2 执行 %3",vF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="当从 SIoT 主题 %1 收到消息时 %2 执行 %3",vF.MPYTHON_IR_RECV_HELPURL="",vF.MPYTHON_IR_RECV_MESSAGE0="红外接收 整型 rx 引脚 %1",vF.MPYTHON_IR_RECV_TOOLTIP="第一次接收总为空",vF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 显示 %1 x %2 y %3",vF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",vF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",vF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",vF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",vF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",vF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 显示图像 x %1 y %2 宽 %3 高 %4 16进制图像数据 %5",vF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",vF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",vF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",vF.mpythonbox_sound_MESSAGE0="声音值",vF.mpythonbox_sound_TOOLTIP="采样数据,为0~4095。",vF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",vF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",vF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",vF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆电阻采样值。范围0~4095。",vF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",vF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按键%1",vF.MPYTHONBOX_5BUTTON_TOOLTIP="",vF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",vF.MPYTHONBOX_MOTOR_MESSAGE0="马达 速度%1",vF.MPYTHONBOX_MOTOR_TOOLTIP="马达速度,范围±100。正值表示正转,负值则反。",vF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",vF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超声波",vF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超声波测距,获取超声波传感器测距值,单位cm。范围3~340CM",vF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",vF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人体红外",vF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人体红外触发值。当为1时,表示已触发;当为0时,表示未触发。",vF.MPYTHONBOX_RGB_pixel_HELPURL="",vF.MPYTHONBOX_RGB_pixel_MESSAGE0="设定第 %1列 %2行 R%3 G%4 B%5",vF.MPYTHONBOX_RGB_pixel_TOOLTIP="设定第多少列,行的RGB顏色",vF.MPYTHONBOX_RGB_get_pixel_HELPURL="",vF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",vF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB颜色",vF.MPYTHONBOX_RGB_ImageText_HELPURL="",vF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滚动显示文本%1 速度%2",vF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滚动显示文本,亮度为0不亮,9最亮",vF.MPYTHONBOX_RGB_SetImage_HELPURL="",vF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",vF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",vF.MPYTHONBOX_RGB_Image_HELPURL="",vF.MPYTHONBOX_RGB_Image_MESSAGE0="显示图像%1",vF.MPYTHONBOX_RGB_Image_TOOLTIP="显示图像",vF.MPYTHONBOX_RGB_SetImage_HELPURL="",vF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",vF.MPYTHONBOX_RGB_SetImage_TOOLTIP="创建新图像,每行每位数代表第几位灯,默认红色;亮度为0不亮,9最亮。",vF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="显示图像/文本 %1",vF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="显示图像或文本消息。",vF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",vF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="显示图像 %1",vF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="显示图像。",vF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",vF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="复制图像 %1",vF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="复制图像。",vF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",vF.MPYTHONBOX_RGB_ImageCot_HELPURL="",vF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪图像%1 列%2 行%3 宽%4 高%5",vF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪图像",vF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="内置图像 %1",vF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="选择一个内置的图像。",vF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移图像 %1 %2 %3 位",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移动图像,并返回移动后的结果。",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",vF.MPYTHONBOX_RGB_clear_HELPURL="",vF.MPYTHONBOX_RGB_clear_MESSAGE0="关闭所有 RGB 灯",vF.MPYTHONBOX_RGB_clear_TOOLTIP="",vF.MPYTHONBOX_RGB_pixel_return_HELPURL="",vF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 颜色",vF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",vF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1轴加速度",vF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",vF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1轴角速度",vF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",vF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1欧拉角",vF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回当前欧拉角(Pitch,Roll,Yaw),单位角度",vF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元数",vF.MPYTHONBOX_QUATERNION_TOOLTIP="返回当前四元数(w,x,y,z)",vF.MPYTHONBOX_CAMERA_LED_HELPURL="",vF.MPYTHONBOX_CAMERA_LED_MESSAGE0="摄像灯%1",vF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led灯,分为打开和关闭两种状态",vF.LIST_FIRST_INDEX_HELPURL="",vF.LIST_FIRST_INDEX_MESSAGE0="项 %1 在列表 %2 %3 出现的位置",vF.LIST_FIRST_INDEX_TOOLTIP="",vF.MPYTHON_AI_LCD_INIT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",vF.MPYTHON_AI_LCD_INIT_MESSAGE0="屏幕 初始化 ",vF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 屏幕显示",vF.MPYTHON_AI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",vF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="摄像头 初始化",vF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",vF.MPYTHON_AI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="摄像头%1",vF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取图像",vF.MPYTHON_AI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",vF.MPYTHON_AI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",vF.MPYTHON_AI_LCD_TEXT_TOOLTIP="仅支持字母和数字",vF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",vF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",vF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",vF.MPYTHON_AI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",vF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 摄像头 获取%1",vF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)摄像头返回参数(宽高,图像帧的格式,图像帧的大小)",vF.MPYTHON_AI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",vF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",vF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",vF.MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",vF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",vF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",vF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",vF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="摄像头 白平衡%1",vF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="设置摄像自动白平衡模式,默认打开。True为打开, False为关闭自动白平衡。若您想追踪颜色,则需关闭白平衡。",vF.MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",vF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 %1 %2",vF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",vF.MPYTHON_AI_LCD_DISPLAY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",vF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 显示生效",vF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示",vF.MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",vF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 显示生效 x%1 y%2 宽%3 高%4",vF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上显示一张图片",vF.MPYTHON_AI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",vF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",vF.MPYTHON_AI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",vF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",vF.MPYTHON_AI_LCD_SHOW_REC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",vF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",vF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",vF.MPYTHON_AI_LCD_SHOW_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="屏幕 显示清空",vF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",vF.MPYTHON_AI_LCD_CLEAR_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",vF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",vF.MPYTHON_AI_LCD_return_colour_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",vF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",vF.MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_TEXT_MOST_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",vF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",vF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",vF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",vF.MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",vF.MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL=".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",vF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="图像转换为%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻转是将二进制图像0(黑色)变为1(白色),1(白色)变为0(黑色),非常快速地翻转二进制图像中的所有像素值。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="图像 从笛卡尔坐标到%1 坐标重新投影 反向%2",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",vF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",vF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="图像 膨胀 级别%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="图像 中点滤波 级别%1 滤波%2",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制图像混合的最小/最大程度。0只适用于最小滤波,1仅用于最大滤波。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="图像 众数滤波 级别%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在图像上运行众数滤波,用相邻像素的模式替换每个像素。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",vF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="图像 模糊滤波 级别%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式滤波器的标准均值模糊滤波。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",vF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="图像 卡通化 级别%1 起始像素差异%2 相邻像素差异%3",vF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",vF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",vF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="图像 3D旋转 上下旋转%1 左右旋转%2 度数%3 左右移动%4 上下移动%5 缩放%6",vF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通过执行帧缓冲区的3D旋转来纠正图像中的透视问题。",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",vF.MPYTHON_AI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(实验箱)选择训练模型 人脸",vF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(实验箱)调用摄像头进行 人脸识别",vF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_AI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(实验箱)获取识别后人脸的 所有参数",vF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",vF.MPYTHON_AI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(实验箱)获取识别后人脸的 x坐标",vF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",vF.MPYTHON_AI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(实验箱)获取识别后人脸的 y坐标",vF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",vF.MPYTHON_AI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(实验箱)获取识别后人脸的 宽度",vF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",vF.MPYTHON_AI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(实验箱)获取识别后人脸的 高度",vF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",vF.MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(实验箱)获取识别后人脸的 置信度",vF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",vF.MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(实验箱)获取识别后人脸的 数量",vF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",vF.MPYTHON_AI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(实验箱)选择训练模型 20类",vF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(实验箱)调用摄像头进行 20类识别",vF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",vF.MPYTHON_AI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(实验箱)获取识别后20类的 所有参数",vF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",vF.MPYTHON_AI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(实验箱)获取识别后20类的 x坐标",vF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",vF.MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(实验箱)获取识别后20类的 y坐标",vF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",vF.MPYTHON_AI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(实验箱)获取识别后20类的 宽度",vF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",vF.MPYTHON_AI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(实验箱)获取识别后20类的 高度",vF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",vF.MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(实验箱)获取识别后20类的 置信度",vF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",vF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(实验箱)获取识别后20类的 数量",vF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",vF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(实验箱)获取识别后20类的 类型",vF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(实验箱)获取识别后20类的 类型数量",vF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",vF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(实验箱)选择训练模型 手写数字",vF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",vF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(实验箱)调用摄像头进行 手写数字识别",vF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",vF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(实验箱)获取识别后手写数字的 所有参数",vF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",vF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(实验箱)获取识别后手写数字的 数字",vF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",vF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(实验箱)获取识别后手写数字的 置信度",vF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",vF.MPYTHON_AI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",vF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(实验箱)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",vF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追踪色块",vF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",vF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(实验箱)追踪颜色 显示%1",vF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",vF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(实验箱)%1获取识别后色块的 所有参数",vF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_X_MESSAGE0="(实验箱)%1获取识别后色块的 x坐标",vF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_Y_MESSAGE0="(实验箱)%1获取识别后色块的 y坐标",vF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_W_MESSAGE0="(实验箱)%1获取识别后色块的 宽度",vF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_H_MESSAGE0="(实验箱)%1获取识别后色块的 高度",vF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(实验箱)%1获取识别后色块的 数量",vF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(实验箱)%1获取识别后色块的 中心x坐标",vF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(实验箱)%1获取识别后色块的 中心y坐标",vF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(实验箱)%1获取识别后色块的 矩形",vF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",vF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",vF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",vF.MPYTHON_AI_LCD_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",vF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",vF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",vF.MPYTHON_AI_SENSOR_PATTERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",vF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="摄像头 初始化 像素模式 %1",vF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用于设置摄像头像素模式,有黑白和rgb彩色",vF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 训练 %1",vF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",vF.MPYTHON_DRILL_WEIGHT_HELPURL="",vF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",vF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="实例化 线性回归直线",vF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",vF.MPYTHON_DRILL_TITLE_HELPURL="",vF.MPYTHON_DRILL_TITLE_MESSAGE0="标题%1 字号%2",vF.MPYTHON_DRILL_TITLE_TOOLTIP="",vF.MPYTHON_DRILL_LABEL_HELPURL="",vF.MPYTHON_DRILL_LABEL_MESSAGE0="标签%1 标题%2 字号%3",vF.MPYTHON_DRILL_LABEL_TOOLTIP="",vF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",vF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真实数据 符号标记%1 颜色为r%2 g%3 b%4 标题%5",vF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",vF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",vF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="预测线性回归直线 符号标记%1 颜色为r%2 g%3 b%4 标题%5",vF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",vF.MPYTHON_DRILL_LEGEND_HELPURL="",vF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示图例",vF.MPYTHON_DRILL_LEGEND_TOOLTIP="",vF.MPYTHON_DRILL_SHOW_HELPURL="",vF.MPYTHON_DRILL_SHOW_MESSAGE0="显示图片",vF.MPYTHON_DRILL_SHOW_TOOLTIP="",vF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",vF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="输入测试数值%1",vF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",vF.MPYTHON_DRILL_DRILL_full_line="实线",vF.MPYTHON_DRILL_DRILL_dash_line="破折线",vF.MPYTHON_DRILL_DRILL_chain_line="点划线",vF.MPYTHON_DRILL_DRILL_imaginary_line="虚线",vF.MPYTHON_DRILL_DRILL_dot="点",vF.MPYTHON_DRILL_DRILL_pixel="像素",vF.MPYTHON_DRILL_DRILL_solid_rim="实心圈",vF.MPYTHON_DRILL_DRILL_down_triangle="下三角",vF.MPYTHON_DRILL_DRILL_up_triangle="上三角",vF.MPYTHON_DRILL_DRILL_right_triangle="右三角",vF.MPYTHON_DRILL_DRILL_left_triangle="左三角",vF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",vF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",vF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",vF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",vF.MPYTHON_DRILL_DRILL_solid_square="实心方形",vF.MPYTHON_DRILL_DRILL_solid_pentagon="实心五角",vF.MPYTHON_DRILL_DRILL_star="星形",vF.MPYTHON_DRILL_DRILL_vertical_hexagon="竖六边形",vF.MPYTHON_DRILL_DRILL_across_hexagon="横六边形",vF.MPYTHON_DRILL_DRILL_cross="十字",vF.MPYTHON_DRILL_DRILL_X="X",vF.MPYTHON_DRILL_DRILL_rhombus="菱形",vF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",vF.MPYTHON_DRILL_DRILL_vertical_line="垂直线",vF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鸢尾花数据集",vF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="采用Python的Sklearn机器学习库中自带的数据集——鸢尾花数据集。简单分析数据集之间特征的关系图,根据花瓣长度、花瓣宽度、花萼长度、花萼宽度四个特征进行绘图Iris plants 数据集可以从KEEL dataset数据集网站获取,也可以直接从Sklearn.datasets机器学习包得到。数据集共包含4个特征变量、1个类别变量,共有150个样本。类别变量分别对应鸢尾花的三个亚属,分别是山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica) 分别用[0,1,2]来做映射",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鸢尾花 主成分分析",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鸢尾花 因子分析 3D",vF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鸢尾花 因子分析",vF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="预测图示 鸢尾花类型%1 呈现内容 x%3 y%4 呈现种类%2 颜色为 r%5 g%6 b%7 标题%8 向上合并%9",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="预测图示 呈现内容 x%1 y%2 呈现种类%3 颜色为 r%4 g%5 b%6 标题%7",vF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 预测图示 呈现内容 x朝向%1 y朝向%2 z朝向%3 颜色为 r%4 g%5 b%6 标题%7",vF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="标题%1 字号%2",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="标签%1 标题%2 字号%3",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 标题%1 字号%2",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 标签%1 标题%2 字号%3",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示图例",vF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="显示图片",vF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x,y坐标",vF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150条记录,分别代表50条山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)、维吉尼亚鸢尾(Iris-virginica)",vF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鸢尾",vF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="变色鸢尾",vF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="维吉尼亚鸢尾",vF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散点图",vF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde图",vF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱图",vF.MPYTHONS_FLOWER_DE_LUCE_merge="合并",vF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合并",vF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼长度",vF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼宽度",vF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣长度",vF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣宽度",vF.MPYTHONS_CONVERT_PICTURE_HELPURL="",vF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="将图片转换为28²二值图%1 待处理的图片存储路径%2 处理后的图片存储路径%3 格式%4",vF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通过串口把WIF传给语音助手",vF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",vF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手写数字数据 存储路径%1",vF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手写数字字符库",vF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",vF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手写数字图像 存储路径%1",vF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="手写数字图像的路径",vF.MPYTHONS_SHOW_NUMBER_HELPURL="",vF.MPYTHONS_SHOW_NUMBER_MESSAGE0="显示手写数字图像",vF.MPYTHONS_SHOW_NUMBER_TOOLTIP="显示手写数字图像",vF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",vF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="识别手写数字图像 存储路径%1",vF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="识别手写数字图像的路径",vF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",vF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="创建变量%1 初始化 神经网络张量 变量名%2",vF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",vF.MPYTHON_DRILL_RESHAPE_MESSAGE0="创建变量%1 将输入照片变量 %2 转换为 神经网络输出张量%3",vF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",vF.MPYTHON_DRILL_RESHAPE_HELPURL="",vF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="创建变量%1 共享变量名%2 初始化模式%3",vF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",vF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",vF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="产生截断正态分布随机数 输出张量%1 标准差%2",vF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",vF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",vF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="创建常量 数值%1 输出张量%2",vF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",vF.MPYTHON_NUMBER_CONSTANT_HELPURL="",vF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神经网络输出张量%1 共享变量%2 步长%3 填充%4",vF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",vF.MPYTHON_NUMBER_CONV2D_HELPURL="",vF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="张量%1",vF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",vF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",vF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷积二维层 变量%1 %2",vF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",vF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",vF.MPYTHON_NUMBER_RELU_MESSAGE0="创建变量%1 Relu正向激励函数 卷积二维层%2",vF.MPYTHON_NUMBER_RELU_TOOLTIP="",vF.MPYTHON_NUMBER_RELU_HELPURL="",vF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二维层 变量%1 卷积层%2 池化窗口%3 步长%4 填充%5",vF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",vF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",vF.MPYTHON_NUMBER_MATMUL_MESSAGE0="两个参数的对应元素各自相乘 x%1 y%2",vF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",vF.MPYTHON_NUMBER_MATMUL_HELPURL="",vF.MPYTHON_NUMBER_ADD_MESSAGE0="全连接层 变量%1 两个参数的元素相加 x%2 y%3",vF.MPYTHON_NUMBER_ADD_TOOLTIP="",vF.MPYTHON_NUMBER_ADD_HELPURL="",vF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="创建变量%1 预测模型准确度 变量名%2",vF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",vF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",vF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="创建变量%1 损失函数%2",vF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",vF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",vF.MPYTHON_NUMBER_LOG_MESSAGE0="自然对数 %1",vF.MPYTHON_NUMBER_LOG_TOOLTIP="",vF.MPYTHON_NUMBER_LOG_HELPURL="",vF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="压缩求和%1 维度%2",vF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。",vF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",vF.MPYTHON_NUMBER_TRAIN_MESSAGE0="优化学习速率 %1",vF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",vF.MPYTHON_NUMBER_TRAIN_HELPURL="",vF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="创建变量%1 优化张量%2",vF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",vF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",vF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",vF.MPYTHON_NUMBER_INIT_TOOLTIP="",vF.MPYTHON_NUMBER_INIT_HELPURL="",vF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="选择 手写数字集%1 数量%2",vF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",vF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",vF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",vF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",vF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",vF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",vF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",vF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",vF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="预测模型%1 拟合度%2 会话%3",vF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",vF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",vF.MPYTHON_NUMBER_EQUAL_MESSAGE0="两个张量的每一维是否相等 x%1 y%2",vF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",vF.MPYTHON_NUMBER_EQUAL_HELPURL="",vF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="张量 %1 按%2比较返回最大值的索引",vF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",vF.MPYTHON_NUMBER_ARGMAX_HELPURL="",vF.MPYTHON_NUMBER_CAST_MESSAGE0="转为浮点型 %1",vF.MPYTHON_NUMBER_CAST_TOOLTIP="",vF.MPYTHON_NUMBER_CAST_HELPURL="",vF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",vF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手写数字识别模型 变量名%1 存储路径%2",vF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手写数字识别模型保存路径",vF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",vF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加载模型 %1 存储路径%2",vF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="加载模型",vF.MPYTHONS_NUMBER_SAME="包含边界",vF.MPYTHONS_NUMBER_VALID="不包含边界",vF.MPYTHONS_NUMBER_train="训练",vF.MPYTHONS_NUMBER_test="测试",vF.MPYTHONS_NUMBER_row="行",vF.MPYTHONS_NUMBER_rank="列",vF.MPYTHONS_NUMBERNEW_INITIALIZE_HELPURL="",vF.MPYTHONS_NUMBERNEW_INITIALIZE_MESSAGE0="初始化 张量 载入mnist数据集",vF.MPYTHONS_NUMBERNEW_INITIALIZE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_MESSAGE0="卷积 一 层",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_POOLING_ONE_HELPURL="",vF.MPYTHONS_NUMBERNEW_POOLING_ONE_MESSAGE0="池化 一 层",vF.MPYTHONS_NUMBERNEW_POOLING_ONE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_MESSAGE0="卷积 二 层",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_POOLING_TWO_HELPURL="",vF.MPYTHONS_NUMBERNEW_POOLING_TWO_MESSAGE0="池化 二 层",vF.MPYTHONS_NUMBERNEW_POOLING_TWO_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONNECT_ONE_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONNECT_ONE_MESSAGE0="全连接 一 层",vF.MPYTHONS_NUMBERNEW_CONNECT_ONE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONNECT_TWO_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONNECT_TWO_MESSAGE0="全连接 二 层",vF.MPYTHONS_NUMBERNEW_CONNECT_TWO_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_LOSS_HELPURL="",vF.MPYTHONS_NUMBERNEW_LOSS_MESSAGE0="配置Adam优化器 学习速率为%1",vF.MPYTHONS_NUMBERNEW_LOSS_TOOLTIP="学习速率为0.001~0.000001之间",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_MESSAGE0="初始化 tensorflow模型%1 训练模型%2 步数%3",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TOOLTIP="步数不能小于10",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_MESSAGE0="模型训练准确率",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_MESSAGE0="预测 训练正确率",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_MESSAGE0="预测 手写数字%1",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_TOOLTIP="仅支持28*28像素的黑白图片",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_MESSAGE0="显示图片%1",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="调用摄像头 %1",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="调用笔记本内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="关闭摄像头",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="删除所有窗口",vF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",vF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="从摄像头读取图片",vF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有读取图片就True,否则false;第二个参数是frame,是当前截取一帧的图片。",vF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="转为灰度图片",vF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="检测人脸 每次图像尺寸减小比例%1",vF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",vF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",vF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人脸区域显示矩形框 颜色为 红%1 绿%2 蓝%3",vF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存图像 位置%1 ID%2 编号%3",vF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中显示图像 文件名%1",vF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通过esc键 退出",vF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置顶时使用才有效果",vF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="获得人脸在图像中的坐标值 人脸%1",vF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否有读取图片",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打开摄像头",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="获取照片及id 照片存储路径%1",vF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化训练模型",vF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="初始化训练模型",vF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="开始训练模型",vF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1训练模型 存储路径%2",vF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人脸模型训练 数目",vF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口显示 识别的名字%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",vF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口显示 识别的置信度%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",vF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="预测人脸 名字%1 置信度%2",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="写入",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="读取",vF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",vF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",vF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",vF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",vF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",vF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",vF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",vF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",vF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",vF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",vF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",vF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",vF.Jenny="珍妮",vF.Jack="杰克",vF.Tom="汤姆",vF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",vF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",vF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查阅训练库 选择%1",vF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",vF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",vF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",vF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",vF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",vF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",vF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",vF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",vF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",vF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",vF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",vF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",vF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",vF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",vF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",vF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",vF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",vF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",vF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",vF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",vF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",vF.MPYTHON_AGESTURE_ARRAY_HELPURL="",vF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",vF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",vF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",vF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",vF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",vF.MPYTHON_GESTURE_READ_LEND_HELPURL="",vF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",vF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",vF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",vF.MPYTHON_GESTURE_SCORE_HELPURL="",vF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",vF.MPYTHON_GESTURE_SCORE_TOOLTIP="",vF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",vF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",vF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",vF.MPYTHON_GESTURE_FORECAST_HELPURL="",vF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",vF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",vF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",vF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",vF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",vF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",vF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",vF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",vF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",vF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",vF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",vF.MPYTHON_AGESTURENEW_INITIALIZE_HELPURL="",vF.MPYTHON_AGESTURENEW_INITIALIZE_MESSAGE0="初始化 KNN",vF.MPYTHON_AGESTURENEW_INITIALIZE_TOOLTIP="",vF.MPYTHON_AGESTURENEW_SHOOT_HELPURL="",vF.MPYTHON_AGESTURENEW_SHOOT_MESSAGE0="拍摄 进行手势检测",vF.MPYTHON_AGESTURENEW_SHOOT_TOOLTIP="",vF.MPYTHON_AGESTURENEW_SHOOT_GRAY_HELPURL="",vF.MPYTHON_AGESTURENEW_SHOOT_GRAY_MESSAGE0="拍摄 训练集",vF.MPYTHON_AGESTURENEW_SHOOT_GRAY_TOOLTIP="",vF.MPYTHON_AGESTURENEW_GRAY_HELPURL="",vF.MPYTHON_AGESTURENEW_GRAY_MESSAGE0="图像处理",vF.MPYTHON_AGESTURENEW_GRAY_TOOLTIP="",vF.MPYTHON_AGESTURENEW_TRAIN_HELPURL="",vF.MPYTHON_AGESTURENEW_TRAIN_MESSAGE0="开始分类训练",vF.MPYTHON_AGESTURENEW_TRAIN_TOOLTIP="",vF.MPYTHON_AGESTURENEW_START_FORECAST_HELPURL="",vF.MPYTHON_AGESTURENEW_START_FORECAST_MESSAGE0="开始预测",vF.MPYTHON_AGESTURENEW_START_FORECAST_TOOLTIP="",vF.MPYTHON_AGESTURENEW_FORECAST_RESULT_HELPURL="",vF.MPYTHON_AGESTURENEW_FORECAST_RESULT_MESSAGE0="预测结果",vF.MPYTHON_AGESTURENEW_FORECAST_RESULT_TOOLTIP="",vF.MPYTHON_AGESTURENEW_SHOW_WINDOW_HELPURL="",vF.MPYTHON_AGESTURENEW_SHOW_WINDOW_MESSAGE0="显示图片";vF.MPYTHON_AGESTURENEW_SHOW_WINDOW_TOOLTIP="",vF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",vF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",vF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",vF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",vF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",vF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",vF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",vF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",vF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",vF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",vF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",vF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",vF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",vF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",vF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",vF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",vF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",vF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="Esc退出拍摄",vF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",vF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",vF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",vF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸库%1",vF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_MESSAGE0="拍照 进行人脸检测 %1",vF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_TOOLTIP="按S建拍摄,Esc退出拍摄",vF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",vF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",vF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",vF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",vF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",vF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",vF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",vF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",vF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",vF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表 排序前%1",vF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",vF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",vF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻",vF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",vF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",vF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",vF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="读取词汇表 排序前%1",vF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",vF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",vF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",vF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",vF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",vF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",vF.FIRST="第一次",vF.LAST="最后一次",vF.MPYTHON_USOCKET_BLOCK="阻塞",vF.MPYTHON_USOCKET_UNBLOCK="非阻塞",vF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",vF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="设置socket %1 地址 %2 类型 %3",vF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="设置给定套接字选项的值。所需的符号常量在套接字模块中定义(SO_ *等)。该值可以是整数或表示缓冲区的类字节对象。",vF.MPYTHON_USOCKET_READLINE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",vF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行数据,遇换行符结束并返回接收数据的对象",vF.MPYTHON_USOCKET_READLINE_TOOLTIP=" 接收一行数据,遇换行符结束,并返回接收数据的对象",vF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",vF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="设 socket %1 为 %2 模式",vF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",vF.MPYTHON_USOCKET_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.read",vF.MPYTHON_USOCKET_READ_MESSAGE0="从socket %1 读取 %2 字节并返回字节对象",vF.MPYTHON_USOCKET_READ_TOOLTIP="若未给定读取数量 ,则按照类似 socket.readall() 的模式运行",vF.MPYTHON_ESC_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",vF.MPYTHON_ESC_MESSAGE0="设 socket %1 为 %2 模式",vF.MPYTHON_ESC_TOOLTIP="",vF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.settimeout",vF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 设超时时间 %2 秒",vF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",vF.MPYTHON_USOCKET_SENDALL_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",vF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 连续发送 %2 并返回发送的字节数",vF.MPYTHON_USOCKET_SENDALL_TOOLTIP="将所有数据发送到套接字。套接字必须连接到远程套接字。与 send() 此不同,此方法将尝试通过连续发送数据块来发送所有数据。",vF.MPYTHON_USOCKET_SENDS_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",vF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",vF.MPYTHON_USOCKET_SENDS_TOOLTIP='将数据发送到套接字。套接字必须连接到远程套接字。返回发送的字节数,可能小于数据长度 ("short write")。',vF.MPYTHON_USOCKET_SEND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",vF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",vF.MPYTHON_USOCKET_SEND_TOOLTIP="Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",vF.MPYTHON_USOCKET_SENDTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.sendto",vF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 发送 %2 到地址 %3",vF.MPYTHON_USOCKET_SENDTO_TOOLTIP="Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",vF.MPYTHON_USOCKET_RECV_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recv",vF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收并返回接收到的数据对象 最大数据量为 %2",vF.MPYTHON_USOCKET_RECV_TOOLTIP="",vF.MPYTHON_TEXT_ESC_HELPURL="",vF.MPYTHON_TEXT_ESC_MESSAGE0="文本转义字符 %1",vF.MPYTHON_TEXT_ESC_TOOLTIP="文本转义字符",vF.MPYTHON_USOCKET_RECVFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recvfrom",vF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收并返回接收到的数据元组 最大数据量为 %2",vF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元组格式 (bytes, address)",vF.MPYTHON_USOCKET_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.connect",vF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 连接 host %2 端口 %3",vF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",vF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.getaddrinfo",vF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 并返回 ip",vF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需联网",vF.MPYTHON_USOCKET_ACCEPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",vF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接收连接请求并返回socket元组",vF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收连接请求。socket需要指定地址并监听连接。返回值是 (conn, address)。\nconn:新的socket对象,可以用来收发消息\naddress:连接到服务器的客户端地址",vF.MPYTHON_USOCKET_LISTEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.listen",vF.MPYTHON_USOCKET_LISTEN_MESSAGE0="监听socket %1 backlog个数 %2",vF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",vF.MPYTHON_USOCKET_BIND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.bind",vF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 绑定地址 %2 端口 %3",vF.MPYTHON_USOCKET_BIND_TOOLTIP="",vF.MPYTHON_USOCKET_CLOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.close",vF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 关闭",vF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",vF.MPYTHON_USOCKET_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",vF.MPYTHON_USOCKET_INIT_MESSAGE0="创建 socket %1 地址 %2 类型 %3",vF.MPYTHON_USOCKET_INIT_TOOLTIP="AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP流\nSOCK_DGRAM:=2 — UDP数据报\nSOCK_RAW :=3 — 原始套接字\nSO_REUSEADDR : =4 — socket可重用\n",vF.MPYTHON_GET_POST_HELPURL="",vF.MPYTHON_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",vF.MPYTHON_GET_POST_TOOLTIP="",vF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",vF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",vF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",vF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",vF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",vF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 请求网址 %2 文件路径 %3 Mime类型 %4 附加字段 %5",vF.MPYTHON_RESPONSE_HELPURL="",vF.MPYTHON_RESPONSE_MESSAGE0="响应内容 形式 %1",vF.MPYTHON_RESPONSE_TOOLTIP="",vF.STRING="字符串",vF._BYTE="二进制",vF.BYTES="字节",vF.TEXT="文本",vF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",vF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="响应属性 %1",vF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",vF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",vF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右键帮助,查看引脚声明",vF.MPYTHON_SETS_PIN_MODE_MESSAGE0="设置引脚 %1 为 %2 模式 %3 并设置值为 %4",vF.MPYTHON_SET_PIN_IN="输入",vF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽输出",vF.MPYTHON_SET_PIN_LEAKY_OUT="开漏输出",vF.MPYTHON_SET_PIN_NO_PULL="无上下拉",vF.MPYTHON_SET_PIN_DOWN_PULL="下拉",vF.MPYTHON_SET_PIN_UP_PULL="上拉",vF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",vF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="线程锁对象 %1 请求锁",vF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",vF.MPYTHON_START_NEW_THREAD_HELPURL="",vF.MPYTHON_START_NEW_THREAD_MESSAGE0="子线程 %1",vF.MPYTHON_START_NEW_THREAD_TOOLTIP="",vF.MPYTHON_UART_INIT_HELPURL="",vF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",vF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3组串口。0用于REPL,剩下1、2两组串口可用。所有引脚均可以作为串口的输入RX,除 P2、P3 、P4 、P10 只能作为输入,其余所有的引脚理论上都可以作为输出TX。",vF.MPYTHON_UART_DEINIT_HELPURL="",vF.MPYTHON_UART_DEINIT_MESSAGE0="关闭串口 %1",vF.MPYTHON_UART_DEINIT_TOOLTIP="关闭 UART 总线",vF.MPYTHON_UART_WRITE_STR_HELPURL="",vF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 写入文本 %2 %3",vF.MPYTHON_UART_WRITE_STR_TOOLTIP="将文本写入总线。\n返回值:写入或 None 超时的字节数。",vF.MPYTHON_UART_WRITE_HEX_HELPURL="",vF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 发送16进制字符串 %2 %3",vF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",vF.MPYTHON_UART_HAS_DATA_HELPURL="",vF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可读数据",vF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一个整数,计算可以无阻塞地读取的字符数。\n如果没有可用字符,它将返回0,如果有字符,则返回正数。\n即使有多个可读的字符,该方法也可以返回1。",vF.MPYTHON_UART_READLINE_HELPURL="",vF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 读取一行数据",vF.MPYTHON_UART_READLINE_TOOLTIP="读一行,以换行符结尾。\n返回值:读取行或 None 超时。",vF.MPYTHON_UART_READ_HELPURL="",vF.MPYTHON_UART_READ_MESSAGE0="串口 %1 读取数据",vF.MPYTHON_UART_READ_TOOLTIP="读取尽可能多的串口数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",vF.MPYTHON_UART_READ_LENGTH_HELPURL="",vF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 读取数据 长度 %2",vF.MPYTHON_UART_READ_LENGTH_TOOLTIP="读取指定长度字节数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",vF.MPYTHON_UART_WRITE_BYTE_HELPURL="",vF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 写入单字节 %2",vF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="参数取值为 0~255 整数\n将字节写入总线。\n返回值:写入或 None 超时的字节数。",vF.MPYTHON_UART_WRITE_BYTES_HELPURL="",vF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 写入字节数组 %2",vF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="将字节数组写入总线。\n返回值:写入或 None 超时的字节数。",vF.MPYTHON_BAUDRATE_HELPURL="",vF.MPYTHON_BAUDRATE_MESSAGE0="%1",vF.MPYTHON_BAUDRATE_TOOLTIP="",vF.MPYTHON_HIGH_LOW_HELPURL="",vF.MPYTHON_HIGH_LOW_MESSAGE0="%1",vF.MPYTHON_HIGH_LOW_TOOLTIP="",vF.MPYTHON_TEN_CONVERT_TO_HELPURL="",vF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10进制整数 %1 转化为 %2 字符串",vF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",vF.MPYTHON_BIN="二进制",vF.MPYTHON_OCT="八进制",vF.MPYTHON_HEX="十六进制",vF.MPYTHON_CONVERT_TO_TEN_HELPURL="",vF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 转 10进制整数",vF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",vF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",vF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10进制整数 %2 转 %1 字节",vF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",vF.MPYTHON_INT_TO_CHR_HELPURL="",vF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 转 ASCII 单字符",vF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",vF.MPYTHON_CHR_TO_INT_HELPURL="",vF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 单字符 %1 转 整型",vF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",vF.MPYTHON_STR_TO_HEX_HELPURL="",vF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 转 十六进制 字节",vF.MPYTHON_STR_TO_HEX_TOOLTIP="返回结果中用空格分隔两个十六进制数",vF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",vF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六进制字符串 %1 转 二进制 字节",vF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",vF.MPYTHON_DATA_TO_BASE64_HELPURL="",vF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式编码 返回字节对象",vF.MPYTHON_DATA_TO_BASE64_TOOLTIP="Base64编码是从二进制到字符的过程",vF.MPYTHON_BASE64_TO_DATA_HELPURL="",vF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解码 base64 数据 %1 返回字节对象",vF.MPYTHON_BASE64_TO_DATA_TOOLTIP="Base64编码是从二进制到字符的过程",vF.MPYTHON_UJSON_DUMPS_HELPURL="",vF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 转 json 字符串",vF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",vF.MPYTHON_UJSON_LOADS_HELPURL="",vF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",vF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",vF.MPYTHON_CUSTOM_CODE_HELPURL="",vF.MPYTHON_CUSTOM_CODE_TOOLTIP="",vF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",vF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",vF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",vF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定义返回值 %1",vF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",vF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定义终端部件 Terminal 虚拟管脚 V %1",vF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",vF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",vF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虚拟管脚的状态 V %1",vF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",vF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",vF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="当 Blynk 断开连接时",vF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",vF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",vF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="当 Blynk 连接时",vF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",vF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",vF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="运行 Blynk 定时器进程",vF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",vF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",vF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定时器",vF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",vF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",vF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定时器 %1",vF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',vF.MPYTHON_UART_INPUT_HELPURL="",vF.MPYTHON_UART_INPUT_MESSAGE0="从串口获取文本 提示语句 %1",vF.MPYTHON_UART_INPUT_TOOLTIP="",vF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",vF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="给虚拟管脚添加 属性 %1 值 %2",vF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放于 read 或 write 事件中,虚拟管脚由事件决定,与该管脚绑定的组件会拥有添加的属性",vF.MPYTHON_BLYNK_EMAIL_HELPURL="",vF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向预设邮箱发邮件 %1 主题 %2 正文 %3",vF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",vF.MPYTHON_BLYNK_RUN_HELPURL="",vF.MPYTHON_BLYNK_RUN_MESSAGE0="运行 Blynk 进程",vF.MPYTHON_BLYNK_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",vF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",vF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 显示通知 %1",vF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",vF.MPYTHON_BLYNKTIMER_HELPURL="",vF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定时器 %1 %2 周期 %3 秒",vF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',vF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",vF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="发送数据 %1 到 Blynk APP 的 虚拟管脚 V %2",vF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虚拟管脚:V0 ~ V255",vF.MPYTHON_BLYNK_SETUP_HELPURL="",vF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 设置 %1 服务器 %2 端口 %3 授权码 %4",vF.MPYTHON_BLYNK_SETUP_TOOLTIP="服务器可填 blynk-cloud.com(官网) 或者 blynk.mpython.cn(国内)\n默认端口为 8080\n注意:手机APP访问端口为 9443",vF.MPYTHON_BLYNK_APP_DATA_HELPURL="",vF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="当 从 Blynk APP 收到 虚拟管脚 V %1 的值 %2",vF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虚拟管脚:V0 ~ V255",vF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="当 收到 Blynk 虚拟管脚 V %1 的值",vF.MPYTHON_BLYNK_VALUE_MESSAGE0="从 Blynk 收到的值",vF.MPYTHON_BLYNK_VALUE_TOOLTIP="",vF.MPYTHON_BLYNK_VALUE_HELPURL="",vF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 断开连接",vF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",vF.MPYTHON_ONENET_DISCONNECT_HELPURL="",vF.MPYTHON_ONENET_MSG_MESSAGE0="从 OneNET 收到的消息",vF.MPYTHON_ONENET_MSG_TOOLTIP="",vF.MPYTHON_ONENET_MSG_HELPURL="",vF.MPYTHON_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 %1 时",vF.MPYTHON3_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 时",vF.MPYTHON_ONENET_RECV_TOOLTIP="",vF.MPYTHON_ONENET_RECV_HELPURL="",vF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="当 从 OneNET 收到特定消息 %1 时",vF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",vF.MPYTHON_ONENET_RECV_MSG_HELPURL="",vF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 发送数据流 名称 %1 值 %2",vF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",vF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",vF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 发送数据流 %1",vF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",vF.MPYTHON_ONENET_PUB_DICT_HELPURL="",vF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 发送数据流 名称 %1 值 %2",vF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",vF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",vF.INT_TO_CHR_HELPURL="",vF.INT_TO_CHR_MESSAGE0="整数 %1 转 ASCII 单字符",vF.INT_TO_CHR_TOOLTIP="",vF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",vF.MPYTHON_ONENET="OneNET 设置",vF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",vF.MPYTHON_ONENET_OPTION_BOARDS="可选掌控板",vF.MPYTHON_ONENET_TITLE="OneNET",vF.MPYTHON_SERVER="服务器",vF.MPYTHON_DEVICE_ID="设备ID",vF.MPYTHON_PRODUCT_ID="产品ID",vF.MPYTHON_API_KEY="产品APIKey",vF.MPYTHON_ONENET_CALLBACK="回调函数",vF.MPYTHON_TOPIC="主题",vF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回调函数",vF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",vF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 选择掌控板应用 %1",vF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",vF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",vF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超声波距离 测量单位 %2",vF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",vF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",vF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超声波(mm)",vF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",vF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",vF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超声波初始化 名称 %1 trigger %2 echo %3",vF.MPYTHON_HCSR04_OBJ_TOOLTIP="",vF.MPYTHON_PM2_5_MIC_HELPURL="",vF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值浓度%2",vF.MPYTHON_PM2_5_MIC_TOOLTIP="",vF.MPYTHON_PM2_5_LitresAir_HELPURL="",vF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1升空气中直径在%2 颗粒物个数",vF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",vF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="当 红外接收端 %1 收到消息时 %2 执行 %3",vF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="红外回调地址",vF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="红外接收内容",vF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="红外接收 %1 回调地址 %2 回调命令 %3",vF.MPYTHON_IR_REMOTE_RECV_HELPURL="",vF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",vF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="红外发送 %1 地址 %2 命令 %3",vF.MPYTHON_IR_REMOTE_SEND_HELPURL="",vF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",vF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",vF.TEXT_FORMAT_TOOLTIP="",vF.TEXT_FORMAT_HELPURL="",vF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",vF.TEXT_FORMAT2_TOOLTIP="",vF.TEXT_FORMAT2_HELPURL="",vF.TEXT_TO_BYTE_MESSAGE0="转字节 %1",vF.TEXT_TO_BYTE_TOOLTIP="支持数据类型:string",vF.TEXT_TO_BYTE_HELPURL="",vF.MPYTHON_BYTES_DECODE_HELPURL="",vF.MPYTHON_BYTES_DECODE_MESSAGE0="字节 %1 转 字符串",vF.MPYTHON_BYTES_DECODE_TOOLTIP="",vF.OTHER_TO_BYTE_MESSAGE0="非文本转字节 %1",vF.OTHER_TO_BYTE_TOOLTIP="",vF.OTHER_TO_BYTE_HELPURL="",vF.MPYTHON_ONENET_TOOLTIP="创建OneNET连接",vF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物联网 确保连接到 Wi-Fi 名称 %1 密码 %2",vF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",vF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",vF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",vF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="当从小程序收到 %1 和 %2 时",vF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",vF.MPYTHON_MAC_ADDRESS_HELPURL="",vF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",vF.MPYTHON_MAC_ADDRESS_TOOLTIP="",vF.MPYTHON_RADIO_REC_HELPURL="",vF.MPYTHON_RADIO_REC_MESSAGE0="无线广播 接收消息",vF.MPYTHON_RADIO_REC_TOOLTIP="所接收为字节型",vF.MPYTHON_RADIO_SEND_HELPURL="",vF.MPYTHON_RADIO_SEND_MESSAGE0="无线广播 发送 %1",vF.MPYTHON_RADIO_SEND_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_CHANNEL_HELPURL="",vF.MPYTHON_RADIO_CHANNEL_MESSAGE0="设无线广播 频道为 %1",vF.MPYTHON_RADIO_CHANNEL_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_ON_OFF_HELPURL="",vF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 无线广播",vF.MPYTHON_RADIO_ON_OFF_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_MSG_MESSAGE0="收到的无线广播消息",vF.MPYTHON_RADIO_MSG_TOOLTIP="",vF.MPYTHON_RADIO_MSG_HELPURL="",vF.MPYTHON3_RADIO_RECV_MESSAGE0="当 收到无线广播消息 时 %1 执行 %2",vF.MPYTHON_RADIO_RECV_MESSAGE0="当 收到无线广播消息 %1 时",vF.MPYTHON_RADIO_RECV_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_RECV_HELPURL="",vF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="当 收到特定无线广播消息 %1 时 %2 执行 %3",vF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_RECV_MSG_HELPURL="",vF.MPYTHON_UDP_INIT_HELPURL="",vF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 连接",vF.MPYTHON_UDP_INIT_TOOLTIP="UDP连接基于Wi-Fi",vF.MPYTHON_UDP_SEND_HELPURL="",vF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群发消息 %1",vF.MPYTHON_UDP_SEND_TOOLTIP="",vF.MPYTHON_UDP_SENDTO_HELPURL="",vF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 发送消息 %1 到 %2 端口 %3",vF.MPYTHON_UDP_SENDTO_TOOLTIP="",vF.MPYTHON_UDP_RECV_HELPURL="",vF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",vF.MPYTHON_UDP_RECV_TOOLTIP="",vF.MPYTHON_UDP_RECV_EVENT_HELPURL="",vF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="当从 UDP 收到消息时 %1 执行 %2",vF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",vF.MPYTHON_UDP_RECV_MSG_MESSAGE0="从 UDP 收到的消息",vF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",vF.MPYTHON_UDP_RECV_MSG_HELPURL="",vF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鸟叫",vF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="钢琴黑暗旋律配乐",vF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="猫叫",vF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",vF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="浑厚的打击音",vF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="紧张效果的音效",vF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快门声",vF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="数百只苍蝇",vF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫声",vF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="摇晃低音声线",vF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="听众欢呼掌声",vF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="邮轮汽笛",vF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="现代电话铃声",vF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔萝卜",vF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="两只老虎",vF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",vF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="设音频音量 %1",vF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",vF.MPYTHON_DISPCHAR_MODE_1="普通",vF.MPYTHON_DISPCHAR_MODE_2="反转",vF.MPYTHON_DISPCHAR_MODE_3="透明",vF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",vF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 语音播放 %1",vF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 讯飞开放平台 www.xfyun.cn 上开通“在线语音合成”服务",vF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",vF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 语音配置 APPID %1 APIKey %2",vF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="输入在 讯飞开放平台 www.xfyun.cn 获取的 APPID 与 APIKey\n注意:要设置IP白名单",vF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",vF.MPYTHON_AUDIO_PLAY_MESSAGE0="音频 播放 %1",vF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",vF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",vF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音频 播放 %1",vF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",vF.MPYTHON_AUDIO_DEINIT_HELPURL="",vF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音频 释放缓存",vF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",vF.MPYTHON_AUDIO_INIT_HELPURL="",vF.MPYTHON_AUDIO_INIT_MESSAGE0="音频 初始化",vF.MPYTHON_AUDIO_INIT_TOOLTIP="为音频解码开辟缓存",vF.MPYTHON_AUDIO_CMD_HELPURL="",vF.MPYTHON_AUDIO_CMD_MESSAGE0="音频 %1",vF.MPYTHON_AUDIO_CMD_TOOLTIP="",vF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",vF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="开始录音 录音时长%1秒",vF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。录音时长不能超过5秒",vF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",vF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="录音结果",vF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",vF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",vF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="将 %1 进行识别",vF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",vF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",vF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="识别录音结果",vF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",vF.MPYTHON_RECORD_INIT_HELPURL="",vF.MPYTHON_RECORD_INIT_MESSAGE0="录音 初始化",vF.MPYTHON_RECORD_INIT_TOOLTIP="录音初始化。\n需要掌控板v1.1以上硬件版本。",vF.MPYTHON_RECORD_DEINIT_HELPURL="",vF.MPYTHON_RECORD_DEINIT_MESSAGE0="录音 释放资源",vF.MPYTHON_RECORD_DEINIT_TOOLTIP="录音结束后释放资源。\n需要掌控板v1.1以上硬件版本。",vF.MPYTHON_RECORD_WAV_HELPURL="",vF.MPYTHON_RECORD_WAV_MESSAGE0="录制音频 存储路径 %1 时长 %2 秒",vF.MPYTHON_RECORD_WAV_TOOLTIP="录制音频,并以 WAV 格式存储。\n需要掌控板v1.1以上硬件版本。",vF.MPYTHON_ASR_HELPURL="",vF.MPYTHON_ASR_MESSAGE0="识别 %1 秒语音指令",vF.MPYTHON_ASR_TOOLTIP="可以识别3秒内的语音指令。\n需要掌控板v1.1以上硬件版本。",vF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_button_A="P5(按键A)",vF.mpython_button_B="P11(按键B)",vF.mpython_PIN7_RGB="P7(板载RGB)",vF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",vF.MPYTHON_PWM_PIN_P9="P9 (掌控实验箱)",vF.mpython_tem="温度",vF.mpython_hum="湿度",vF.mpython_pre="气压",vF.mpython_left_right="左右",vF.MPYTHON_LEFT="左",vF.MPYTHON_RIGHT="右",vF.mpython_front_back="前后",vF.mpython_vertical="垂直",vF.mpython_horizontal="水平",vF.mpython_run_in_back="后台运行",vF.mpython_run_in_front="前台运行",vF.mpython_draw="绘制",vF.mpython_clear="清除",vF.mpython_s="秒",vF.mpython_ms="毫秒",vF.mpython_us="微秒",vF.mpython_year="年",vF.mpython_month="月",vF.mpython_date="日",vF.mpython_hour="时",vF.mpython_minute="分",vF.mpython_week="星期数",vF.mpython_days="天数",vF.MPYTHON_ORDER="第",vF.MPYTHON_REVERSE_ORDER="倒数第",vF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定递增基数集合中的一个随机数,基数缺省值为1",vF.MATH_RANDOM_RANDRANGE_MESSAGE0="随机数 从递增区间 [%1 ,%2) 递增步长%3",vF.MATH_KEEP_DECIMAL_HELPURL="",vF.MATH_KEEP_DECIMAL_TOOLTIP="",vF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小数",vF.MPYTHON_MIN="最小值",vF.MPYTHON_MAX="最大值",vF.MPYTHON_LENTH="长度",vF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.TUPLE_MIN_MAX_LEN_TOOLTIP="",vF.TUPLE_MIN_MAX_LEN_MESSAGE0="元组 %1 %2",vF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.TUPLE_ITEM_EXIST_TOOLTIP="",vF.TUPLE_ITEM_EXIST_MESSAGE0="元组%1 包含%2",vF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LIST_ITEM_EXIST_TOOLTIP="",vF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",vF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.PARTS_OF_TUPLE_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.PARTS_OF_TUPLE_MESSAGE0="返回元组%1 取第%2 项到尾项",vF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.PARTS_OF_TUPLE2_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",vF.PARTS_OF_TUPLE2_MESSAGE0="返回元组%1 取%2 %3 项到 %4 %5 项",vF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.PARTS_OF_LIST_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",vF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 项到 %4 %5 项",vF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LIST_TO_TUPLE_TOOLTIP="",vF.LIST_TO_TUPLE_MESSAGE0="列表%1 转元组",vF.tuple_create_with_MESSAGE0="定义元组 %1 = %2 ",vF.tuple_create_with_TOOLTIP="只包含一个元素时,需要在元素后面添加逗号",vF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.tuple_order_item_MESSAGE0="元组%1 %2 %3 项",vF.tuple_order_item_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 项",vF.LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_LIST_ORDER_ITEM_MESSAGE0="设列表%1 %2 %3 项为%4",vF.SET_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 项为%4",vF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_TUPLE_ORDER_ITEM_MESSAGE0="设元组%1 %2 %3 项为%4",vF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_CREATE_WITH_TOOLTIP="",vF.DICT_CREATE_WITH_MESSAGE0="定义字典 %1 = %2",vF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_CREATE_WITH_TOOLTIP="",vF.SET_CREATE_WITH_MESSAGE0="定义集合 %1 = %2",vF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_UPDATE_WITH_TOOLTIP="添加参数可为字符串、列表、元组、集合、字典(只添加key),已有元素则不进行操作",vF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",vF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.INTERSECTION_OF_SETS_TOOLTIP="",vF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",vF.MPYTHON_INTERSECTION="交集",vF.MPYTHON_UNION="并集",vF.MPYTHON_DIFFERENCE="差集",vF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SETS_UPDATE_WAYS_TOOLTIP="",vF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新为 与集合 %2 的 %3",vF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SUBSET_SUPERSET_TOOLTIP="",vF.SUBSET_SUPERSET_MESSAGE0="集合 %1 为集合 %2 的 %3",vF.MPYTHON_SUBSET="子集",vF.MPYTHON_SUPERSET="超集",vF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LEN_OF_SETS_TOOLTIP="",vF.LEN_OF_SETS_MESSAGE0="集合 %1 长度",vF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.GET_SETS_POP_TOOLTIP="",vF.GET_SETS_POP_MESSAGE0="返回随机项并移除之 从集合 %1",vF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.CREATE_EMPTY_SET_TOOLTIP="",vF.CREATE_EMPTY_SET_MESSAGE0="创建空集合 %1",vF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.BIT_INVERSION_TOOLTIP="对数据的每个二进制位取反",vF.BIT_INVERSION_MESSAGE0="二进制取反 %1",vF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="项可为字符串、已创建变量变量、元组",vF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_KEY_VALUE_TOOLTIP="",vF.DICT_KEY_VALUE_MESSAGE0="字典%1 键%2 的值",vF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.ADD_DICT_KEY_VALUE_TOOLTIP="已有该键则更新该键",vF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加键%2 值%3",vF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_LENGTH_TOOLTIP="",vF.DICT_LENGTH_MESSAGE0="字典%1 长度",vF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_KEY_EXIST_TOOLTIP="",vF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含键%2",vF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",vF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",vF.DICT_KEYS="键",vF.DICT_VALUES="值",vF.mpython_lists_append_MESSAGE0="列表%1 末尾添加项%2",vF.mpython_lists_append_TOOLTIP="",vF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",vF.mpython_lists_extend_TOOLTIP="",vF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_lists_clear_MESSAGE0="列表%1 清空",vF.mpython_lists_clear_TOOLTIP="",vF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重复",vF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",vF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_Timer_value_MESSAGE0="定时器 %1 的计数值",vF.mpython_Timer_value_TOOLTIP="获取并返回计时器当前计数值",vF.mpython_Timer_deinit_MESSAGE0="清除 定时器/事件 %1",vF.mpython_Timer_deinit_TOOLTIP="取消定时器的初始化。停止计时器,并禁用计时器外围设备",vF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",vF.mpython_Interrupt_AB_TOOLTIP="",vF.mpython_Interrupt_AB_MESSAGE0="当按键 %1 被 %2 时",vF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",vF.mpython_Interrupt_pin_TOOLTIP="上升沿触发:由低电平到高电平;下降沿触发:由高电平到低电平",vF.mpython_Interrupt_pin_MESSAGE0="当引脚 %1 电平 %2 时",vF.mpython_Interrupt_pin_IRQ_FALLING="↘ 从高到低",vF.mpython_Interrupt_pin_IRQ_RISING="↗ 从低到高",vF.mpython_IRQ_FALLING="按下",vF.mpython_IRQ_RISING="松开",vF.mpython_PERIODIC="重复执行",vF.mpython_ONE_SHOT="延时执行",vF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",vF.MPYTHON_IS_SHAKED_HELPURL="",vF.MPYTHON_IS_SHAKED_TOOLTIP="",vF.MPYTHON_IS_SHAKED="被摇晃",vF.MPYTHON_IS_THROWN="被抛起",vF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="当掌控板 %1 时",vF.MPYTHON_SHAKE_DETECTOR_HELPURL="",vF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",vF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",vF.MPYTHON_IS_TILTED_HELPURL="",vF.MPYTHON_IS_TILTED_TOOLTIP="",vF.MPYTHON_TILT_DETECTOR_MESSAGE0="当掌控板 %1 时",vF.MPYTHON_TILT_DETECTOR_HELPURL="",vF.MPYTHON_TILT_DETECTOR_TOOLTIP="",vF.MPYTHON_DIRECTION_FORWARD="向前倾斜",vF.MPYTHON_DIRECTION_BACK="向后倾斜",vF.MPYTHON_DIRECTION_RIGHT="向右倾斜",vF.MPYTHON_DIRECTION_LEFT="向左倾斜",vF.MPYTHON_DIRECTION_NONE="平放",vF.MPYTHON_TOUCH_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",vF.MPYTHON_TOUCH_EVENT_HELPURL="",vF.MPYTHON_TOUCH_EVENT_TOOLTIP="",vF.MPYTHON_TOUCH_EVENT_PRESSED="触摸",vF.MPYTHON_TOUCH_EVENT_UNPRESSED="释放",vF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 当 %2 时",vF.MPYTHON_CUSTOM_EVENT_HELPURL="",vF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定义事件与定时器共用 1/2/4/7/8/9/10,不可同时占用一个端口。\n最大同时创建4个事件/定时器,如果存在冲突,请尝试换一个编号。",vF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_music_range_pitch_TOOLTIP="时长为单个频率的时长",vF.mpython_music_range_pitch_MESSAGE0="播放音调 从%1 到%2 步长%3 时长%4 毫秒 引脚 %5",vF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_neopixel_init_TOOLTIP="",vF.mpython_neopixel_init_MESSAGE0="灯带初始化 名称%1 引脚%2 数量%3",vF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",vF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹灯效 灯带%1 数量 %2 亮度 %3 偏移 %4",vF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",vF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度调节, 范围 0 ~ 100",vF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="灯带 %1 设置亮度为 %2",vF.mpython_neopixel_single_TOOLTIP="",vF.mpython_neopixel_single_MESSAGE0="灯带%1 %2号 红%3 绿%4 蓝%5",vF.mpython_neopixel_single_gui_MESSAGE0="灯带 %1 %2号 颜色为 %3",vF.mpython_neopixel_single_gui_TOOLTIP="",vF.mpython_neopixel_show_TOOLTIP="",vF.mpython_neopixel_show_MESSAGE0="灯带%1 设置生效",vF.mpython_neopixel_off_TOOLTIP="",vF.mpython_neopixel_off_MESSAGE0="灯带%1 关闭",vF.mpython_neopixel_all_TOOLTIP="",vF.mpython_neopixel_all_MESSAGE0="灯带%1 全亮 红%2 绿%3 蓝%4",vF.mpython_neopixel_all_gui_TOOLTIP="",vF.mpython_neopixel_all_gui_MESSAGE0="灯带%1 全亮 颜色%2",vF.mpython_image_to_oled_MESSAGE0="打开图片 %1 宽 %2 高 %3",vF.mpython_image_to_oled_TOOLTIP="",vF.mpython_time_localtime_MESSAGE0="本地时间 %1",vF.mpython_time_localtime_TOOLTIP="星期数:返回0~6,周一为0,周日为6\n天数:获取当前日期是一年中的第几天\n建议先连接wifi并获取网络时间",vF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",vF.mpython_WiFi_config_TOOLTIP="netmask-子网掩码;gateway-网关",vF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_time_ticks_MESSAGE0="运行时间 %1",vF.mpython_time_ticks_TOOLTIP="",vF.MPYTHON_TIMER_DEF_MESSAGE0="定义定时器 %1",vF.MPYTHON_TIMER_INIT_MESSAGE0="启动定时器 %1 %2 周期 %3 毫秒",vF.mpython_Timer_MESSAGE0="设置定时器 %1 %2 周期 %3 毫秒",vF.mpython_Timer_TOOLTIP="创建定时器n,n=1-14。\n最大同时创建4个定时器,如果存在冲突,请尝试换一个编号。\n3用于内部程序,\n5/6用于伺服系统和ADC,\n11用于摇晃检测,\n12用于触摸键检测,\n13用于Radio和DHT11/DHT22定时取值(共用),\n14用于OneNET和倾斜检测(共用),\n其余端口与自定义事件共用。",vF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",vF.mpython_sway_xyz_MESSAGE0="%1 摇晃掌控板",vF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,触摸键 'python' 靠近使用者,开始左右或前后摇晃掌控板",vF.mpython_init_bluetooth_MESSAGE0="初始化 蓝牙名称%1",vF.mpython_init_bluetooth_TOOLTIP="初始化 蓝牙名称",vF.mpython_OnOff_bluetooth_MESSAGE0="蓝牙设备 %1广播",vF.mpython_OnOff_bluetooth_TOOLTIP="蓝牙设备 开启或关闭广播",vF.mpython_HID_keyboard_bluetooth_MESSAGE0="键盘 按键%1",vF.mpython_HID_keyboard_bluetooth_TOOLTIP="HID键盘设备",vF.mpython_HID_consumer_bluetooth_MESSAGE0="消费类设备%1 状态%2",vF.mpython_HID_consumer_bluetooth_TOOLTIP="模拟HID消费类设备的控制器,如蓝牙遥控器",vF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="键盘 释放按键",vF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="键盘设备",vF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠标%1",vF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠标设备",vF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠标 释放按键",vF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠标设备",vF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="鼠标 指针移动 x%2 y%1",vF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标指针坐标x,y轴的相对位移,范围-1023 ~ 1023",vF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="键盘 按键%1 组合按键%2",vF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",vF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="键盘 组合按键%1",vF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",vF.mpython_HID_keyboard_part_bluetooth_HELPURL="",vF.mpython_init_wifi_MESSAGE0="连接 Wi-Fi 名称 %1 密码 %2",vF.mpython_init_wifi_TOOLTIP="让掌控板接入Wi-Fi环境",vF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 设置静态IP %1 IP 地址 %2 子网掩码 %3 默认网关 %4 DNS %5",vF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",vF.MPYTHON_WIFI_IFCONFIG_HELPURL="",vF.mpython_dis_WiFi_MESSAGE0="断开 Wi-Fi 连接",vF.mpython_dis_WiFi_TOOLTIP="",vF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",vF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密码可以为空,或者8位以上的字母或数字。\nAP模式仅用于掌控板之间的相互通信,不可以作为热点,令其它设备上网。",vF.MPYTHON_ENABLE_APWIFI_MESSAGE0="开启 AP模式 名称 %1 密码 %2 信道 %3",vF.mpython_disable_APWiFi_MESSAGE0="关闭 AP模式",vF.mpython_disable_APWiFi_TOOLTIP="",vF.mpython_ntptime_settime_MESSAGE0="同步网络时间 时区 %1 授时服务器 %2",vF.mpython_ntptime_settime_TOOLTIP="NTP时间同步是一种时间同步网络技术",vF.mpython_wifi_get_date_MESSAGE0="获取当前日期",vF.mpython_wifi_get_date_TOOLTIP="获取当前日期字符串 示例:2020年12月12日",vF.mpython_wifi_get_time_MESSAGE0="获取当前时间",vF.mpython_wifi_get_time_TOOLTIP="获取当前时间字符串",vF.mpython_ntptime_timezone_E1="东1区",vF.mpython_ntptime_timezone_E2="东2区",vF.mpython_ntptime_timezone_E3="东3区",vF.mpython_ntptime_timezone_E4="东4区",vF.mpython_ntptime_timezone_E5="东5区",vF.mpython_ntptime_timezone_E6="东6区",vF.mpython_ntptime_timezone_E7="东7区",vF.mpython_ntptime_timezone_E8="东8区",vF.mpython_ntptime_timezone_E9="东9区",vF.mpython_ntptime_timezone_E10="东10区",vF.mpython_ntptime_timezone_E11="东11区",vF.mpython_ntptime_timezone_E12="东12区",vF.mpython_ntptime_timezone_0="中时区",vF.mpython_ntptime_timezone_W1="西1区",vF.mpython_ntptime_timezone_W2="西2区",vF.mpython_ntptime_timezone_W3="西3区",vF.mpython_ntptime_timezone_W4="西4区",vF.mpython_ntptime_timezone_W5="西5区",vF.mpython_ntptime_timezone_W6="西6区",vF.mpython_ntptime_timezone_W7="西7区",vF.mpython_ntptime_timezone_W8="西8区",vF.mpython_ntptime_timezone_W9="西9区",vF.mpython_ntptime_timezone_W10="西10区",vF.mpython_ntptime_timezone_W11="西11区",vF.mpython_ntptime_timezone_W12="西12区",vF.FILE_TO_LIST_HELPURL="",vF.FILE_TO_LIST_TOOLTIP="读出指定路径的文本文件内容(仅限utf-8格式),并转为列表形式,以分隔符分隔。",vF.FILE_TO_LIST_MESSAGE0="读取文本文件 %1 为列表 ,以 %2 分隔",vF.FILE_TO_BIN_HELPURL="",vF.FILE_TO_BIN_TOOLTIP="以二进制格式读出指定路径的文件内容。";vF.FILE_TO_BIN_MESSAGE0="读取文件 %1 的二进制内容",vF.MPYTHON_INIT_FILE_HELPURL="",vF.MPYTHON_INIT_FILE_TOOLTIP="初始化一个文本文件,如果文件不存在则创建文件,如果文件存在则清空内容。",vF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",vF.MPYTHON_WRITE_FILE_HELPURL="",vF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路径的文本文件写入内容,如果文件不存在则创建文件。",vF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 写入内容 %2 ,以 %3 分隔",vF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",vF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n须确保 SPI 总线的引脚与 micro SD 卡物理连接正确,并预先使用 FAT 或 FAT32 文件系统格式化 micro SD 卡。",vF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",vF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",vF.MPYTHON_SDCARD_MOUNT_TOOLTIP="挂载 SD 卡到指定路径。",vF.MPYTHON_SDCARD_MOUNT_MESSAGE0="挂载 SD 卡到路径 %1",vF.MPYTHON_ENTER="回车",vF.MPYTHON_COMMA="逗号",vF.MPYTHON_SEMICOLON="分号",vF.MPYTHON_SPACE="空格",vF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模拟时钟 x %1 y %2 半径 %3",vF.mpython_wifi_clock_TOOLTIP="需连接 Wi-Fi 使用",vF.mpython_def_clock_MESSAGE0="初始化时钟%1 x %2 y %3 半径 %4",vF.mpython_def_clock_TOOLTIP="",vF.mpython_settime_clock_MESSAGE0="时钟%1 读取时间",vF.mpython_settime_clock_TOOLTIP="",vF.mpython_draw_clear_clock_MESSAGE0="%1 时钟 %2",vF.mpython_draw_clear_clock_TOOLTIP="",vF.mpython_tinywebio_start_MESSAGE0="启动 TinyWebIO 服务 %1",vF.mpython_tinywebio_start_TOOLTIP="启动该服务需连接Wi-Fi,TinyWebIO服务为App Inventor应用提供远程控制接口的掌控板工具包",vF.mpython_tinywebio_client_setup_HELPURL="",vF.mpython_tinywebio_client_setup_TOOLTIP="向服务器发布的数据项(逗号分隔)\nbuttona/b 按键状态\ntouchpadp/y/t/h/o/n 触摸按键值\nlight 光线值\nsound 声音值\naccelerometer 三轴加速度值\nid 掌控板标识\ntime 时间戳\npind 数字IO引脚\npina 模拟IO引脚\n----------\n从服务器读取的数据项(逗号分隔)\nrgb0/1/2 RGB灯珠\noled OLED显示屏\nmusic 音乐\nservo 舵机\npind 数字IO引脚\npina 模拟IO引脚",vF.mpython_tinywebio_client_setup_MESSAGE0="设置 TinyWebIO 客户端参数 %1 TinyWebDB服务器地址 %2 向服务器发布的数据项 %3 从服务器读取的数据项 %4 存取服务器的时间间隔(ms) %5",vF.mpython_tinywebio_client_action_HELPURL="",vF.mpython_tinywebio_client_action_TOOLTIP="",vF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客户端",vF.mpython_tinywebio_client_action_start="启动",vF.mpython_tinywebio_client_action_stop="停止",vF.MPYTHON_CUSTOM_CODE_HELPURL="",vF.MPYTHON_CUSTOM_CODE_TOOLTIP="",vF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",vF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",vF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",vF.mpython_servo_angle0_MESSAGE0="设置舵机 %1 角度为 %2",vF.mpython_servo_angle_MESSAGE0="设置舵机 %1 角度为 %2 脉宽从 %3 到 %4 最大角度 %5",vF.mpython_servo_angle_TOOLTIP="电源线Vcc(红色)连接拓展板电源口V,地线GND(棕色)连接拓展板地线口G,控制信号线(橙色)连接所选的拓展板引脚",vF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",vF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",vF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 连接拓展板的电源口 V ,- 连接拓展板的地线口 G ,out 连接拓展板的引脚 0(即选引脚)",vF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",vF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",vF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",vF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",vF.mpython_music_note_TOOLTIP="音符,如C4:4",vF.mpython_return_list_MESSAGE0="定义列表 %1 = %2",vF.mpython_return_list_TOOLTIP="",vF.mpython_display_Show_MESSAGE0="OLED 显示生效",vF.mpython_display_Show_TOOLTIP="",vF.mpython_display_DispChar_MESSAGE0="显示文本 x %1 y %2 内容 %3 模式 %4 %5",vF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",vF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",vF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行显示 %2 模式 %3 %4",vF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",vF.mpython_line1="1",vF.mpython_line2="2",vF.mpython_line3="3",vF.mpython_line4="4",vF.mpython_line5="5",vF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",vF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",vF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="",vF.mpython_display_fill_0="清空",vF.mpython_display_fill_1="全亮",vF.mpython_display_invert_0="黑底",vF.mpython_display_invert_1="白底",vF.mpython_display_show="生效",vF.mpython_display_fill_MESSAGE0="OLED 显示 %1",vF.mpython_display_fill_TOOLTIP="",vF.mpython_display_pixel_0="暗",vF.mpython_display_pixel_1="亮",vF.mpython_display_pixel_MESSAGE0="描点 x %1 y %2 为 %3",vF.mpython_display_pixel_TOOLTIP="",vF.mpython_display_hline_0="擦除",vF.mpython_display_hline_1="绘制",vF.mpython_display_hline_MESSAGE0="%1 水平线%2 x%3 y%4 长度%5",vF.mpython_display_hline_TOOLTIP="",vF.mpython_ProgressBar_MESSAGE0="进度条%1 x%2 y%3 宽%4 高%5 进度%6",vF.mpython_ProgressBar_TOOLTIP="",vF.mpython_stripBar_MESSAGE0="柱状条%1 x%2 y%3 宽%4 高%5 进度%6",vF.mpython_stripBar_TOOLTIP="",vF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",vF.MPYTHON_QR_CODE_TOOLTIP="",vF.MPYTHON_QR_CODE_MESSAGE0="在坐标 x %1 y %2 绘制二维码 %3 尺寸 %4",vF.MPYTHON_DISPLAY_MODE_0="擦除",vF.MPYTHON_DISPLAY_MODE_1="绘制",vF.MPYTHON_DISPLAY_HOLLOW="空心",vF.MPYTHON_DISPLAY_SOLID="实心",vF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 线 %3 x %4 y %5 长度 %6",vF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",vF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 宽 %6 高 %7",vF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",vF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圆 %3 x %4 y %5 半径 %6",vF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",vF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",vF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",vF.MPYTHON_RGB_0="0 #",vF.MPYTHON_RGB_1="1 #",vF.MPYTHON_RGB_2="2 #",vF.MPYTHON_RGB_ALL="所有",vF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="设置 %1 RGB 灯颜色为 %2",vF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="设置 %1 RGB 灯颜色为 R %2 G %3 B %4",vF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.MPYTHON_OFF_RGB_LIST_MESSAGE0="关闭 %1 RGB 灯",vF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",vF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音乐 %1 引脚 %2",vF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放内置的音乐",vF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音乐 %1 直到完成 , 引脚 %2",vF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放内置的音乐",vF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖国",vF.MPYTHON_MUSIC_DONG_FANG_HONG="东方红",vF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩云追月",vF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走进新时代",vF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",vF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小调",vF.mpython_display_vline_MESSAGE0="%1 垂直线%2 x%3 y%4 长度%5",vF.mpython_display_vline_TOOLTIP="",vF.mpython_display_line_MESSAGE0="%1 线%2 x1 %3 y1 %4 到 x2 %5 y2 %6",vF.mpython_display_line_TOOLTIP="",vF.mpython_display_rect_MESSAGE0="%1 边框%2 x %3 y %4 宽 %5 高 %6",vF.mpython_display_rect_TOOLTIP="",vF.mpython_display_RoundRect_MESSAGE0="%1 弧角边框%2 x %3 y %4 宽 %5 高 %6 半径%7",vF.mpython_display_RoundRect_TOOLTIP="",vF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 宽 %5 高 %6 ",vF.mpython_display_fill_rect_TOOLTIP="",vF.mpython_display_fill_circle_MESSAGE0="%1 实心圆%2 x %3 y %4 半径 %5",vF.mpython_display_fill_circle_TOOLTIP="",vF.mpython_display_circle_MESSAGE0="%1 空心圆%2 x %3 y %4 半径 %5",vF.mpython_display_circle_TOOLTIP="",vF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",vF.mpython_display_triangle_TOOLTIP="",vF.mpython_display_fill_triangle_MESSAGE0="%1 实心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",vF.mpython_display_fill_triangle_TOOLTIP="",vF.mpython_display_Bitmap_MESSAGE0="%1 图像 x%2 y%3 宽%4 高%5 16进制图像数据 %6",vF.mpython_display_Bitmap_TOOLTIP="将16进制图像数据显示在OLED屏的指定位置",vF.MPYTHON_GET_PBM_DATA_MESSAGE0="获取内置图像 %1 模式%2",vF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp 格式的单色图像文件,获取指定路径的图像文件数据,返回一个元组对象。",vF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",vF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="获取自定义图像 %1 模式%2",vF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐标 x %1 y %2 显示图像 %3",vF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的单色图像文件",vF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",vF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐标 x %1 y %2 显示图像 %5 宽 %3 高 %4",vF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",vF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",vF.mpython_horizontal="水平",vF.mpython_vertical="垂直",vF.mpython_display_FrameBuffer_MESSAGE0="构建帧 列表 %1 长 %2 宽 %3 扫描模式 %4",vF.mpython_display_FrameBuffer_TOOLTIP="用图像取模后数据的列表 ,创建128x64的帧缓存区,以储存图片帧",vF.MPYTHON_FONT_DIGIFACE_11="仿数码管 11像素",vF.MPYTHON_FONT_DIGIFACE_16="仿数码管 16像素",vF.MPYTHON_FONT_DIGIFACE_21="仿数码管 21像素",vF.MPYTHON_FONT_DIGIFACE_30="仿数码管 30像素",vF.MPYTHON_FONT_DIGIFACE_44="仿数码管 44像素",vF.MPYTHON_FONT_DIGIFACE_IT_30="仿数码管 斜体 30像素",vF.MPYTHON_FONT_DIGIFACE_IT_42="仿数码管 斜体 42像素",vF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",vF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",vF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",vF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑体 12像素",vF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑体 16像素",vF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑体 21像素",vF.MPYTHON_FONT_WRAP="自动换行",vF.MPYTHON_FONT_NO_WRAP="不换行",vF.MPYTHON_FACE_1="心形",vF.MPYTHON_FACE_2="心形(小)",vF.MPYTHON_FACE_3="高兴",vF.MPYTHON_FACE_4="笑脸",vF.MPYTHON_FACE_5="伤心",vF.MPYTHON_FACE_6="困惑",vF.MPYTHON_FACE_7="生气",vF.MPYTHON_FACE_8="睡着",vF.MPYTHON_FACE_9="惊讶",vF.MPYTHON_FACE_10="愚蠢",vF.MPYTHON_FACE_11="极妙",vF.MPYTHON_FACE_12="无聊",vF.MPYTHON_FACE_ROCK="石头",vF.MPYTHON_FACE_PAPER="布",vF.MPYTHON_FACE_SCISSORS="剪刀",vF.MPYTHON_FACE_ROCK_S="石头(小)",vF.MPYTHON_FACE_PAPER_S="布(小)",vF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",vF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐标 x %1 y %2 显示 %3 以 %4 字体 %5",vF.MPYTHON_DISPLAY_FONT_TOOLTIP="",vF.MPYTHON_DISPLAY_FONT_HELPURL="",vF.mpython_front="正向",vF.mpython_reverse="反转",vF.mpython_display_blit_MESSAGE0="显示帧 坐标x %1 y %2",vF.mpython_display_blit_TOOLTIP="",vF.mpython_front_reverse_MESSAGE0="像素点bit %1",vF.mpython_front_reverse_TOOLTIP="用于显示之前",vF.mpython_images_append_MESSAGE0="动图显示 帧数%1 周期%2 长%3 宽%4",vF.mpython_images_append_TOOLTIP="上传至掌控板的pbm图片需命名为IMAGE.数字,后缀为pbm。如:IMAGE.1.pbm。帧数为7则数字为1至7",vF.mpython_button_is_pressed_MESSAGE0="按键%1 被按下",vF.mpython_button_is_pressed_TOOLTIP="",vF.mpython_button_both_pressed_MESSAGE0="AB按键都按下",vF.mpython_button_both_pressed_TOOLTIP="",vF.mpython_touchPad_value_MESSAGE0="按键%1 被触摸",vF.mpython_touchPad_value_TOOLTIP="",vF.mpython_touchPad_value_num_MESSAGE0="按键%1 触摸值",vF.mpython_touchPad_value_num_TOOLTIP="",vF.mpython_read_digital_MESSAGE0="读取引脚%1 数字值",vF.mpython_read_digital_TOOLTIP="",vF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水温度传感器 引脚 %1",vF.mpython_read_DS18B20_TOOLTIP="",vF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",vF.mpython_set_digital_MESSAGE0="设置引脚 %2 数字值为 %1",vF.mpython_set_digital_TOOLTIP="",vF.mpython_read_analog_MESSAGE0="读取引脚 %1 模拟值",vF.mpython_read_analog_TOOLTIP="",vF.mpython_set_analog_MESSAGE0="设置引脚 %2 模拟值(PWM)为 %1",vF.mpython_set_analog_TOOLTIP="模拟输出是通过IO引脚输出脉宽调制信号,输出指定的电压值,简称PWM。",vF.mpython_set_RGB_MESSAGE0="设置 %1 号 RGB 灯颜色为 R %2 G %3 B %4",vF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_set_RGB_color_MESSAGE0="设置 %1 号 RGB 灯颜色为 %2",vF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_set_RGB_all_MESSAGE0="设置所有 RGB 灯颜色为 R %1 G %2 B %3",vF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_set_RGB_color_all_MESSAGE0="设置所有 RGB 灯颜色为 %1",vF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_fresh_RGB_MESSAGE0="RGB 灯设置生效",vF.mpython_fresh_RGB_TOOLTIP="",vF.mpython_off_RGB_MESSAGE0="关闭 RGB 灯",vF.mpython_off_RGB_TOOLTIP="",vF.mpython_buzz_state_MESSAGE0="停止播放音乐",vF.mpython_buzz_state_TOOLTIP="",vF.mpython_buzz_freq_MESSAGE0="播放连续音调 %1 引脚 %2",vF.mpython_buzz_freq_TOOLTIP="",vF.mpython_buzz_tone_MESSAGE0="播放音调 %1",vF.mpython_buzz_tone_TOOLTIP="",vF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",vF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默认是掌控板的P6引脚",vF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",vF.MPYTHON_MUSIC_TONE_HELPURL="",vF.MPYTHON_MUSIC_TONE_TOOLTIP="",vF.MPYTHON_MUSIC_TONE_MESSAGE0="音调 %1",vF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",vF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",vF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 节拍 %2",vF.MPYTHON_MUSIC_TICK_HELPURL="",vF.MPYTHON_MUSIC_TICK_TOOLTIP="",vF.MPYTHON_MUSIC_TICK_MESSAGE0="节拍 %1",vF.MPYTHON_4_LINES_HELPURL="",vF.MPYTHON_4_LINES_TOOLTIP="",vF.MPYTHON_4_LINES_MESSAGE0="%1",vF.NUMBER_1="1",vF.NUMBER_1_2="1/2",vF.NUMBER_1_4="1/4",vF.NUMBER_2="2",vF.NUMBER_4="4",vF.mpython_read_sound_MESSAGE0="声音值",vF.mpython_read_sound_TOOLTIP="",vF.mpython_read_light_MESSAGE0="光线值",vF.mpython_read_light_TOOLTIP="",vF.mpython_accelerometer_get_MESSAGE0="%1 轴加速度",vF.mpython_accelerometer_get_TOOLTIP="",vF.mpython_accelerometer_get_z_MESSAGE0="z轴加速度",vF.mpython_accelerometer_get_z_TOOLTIP="",vF.mpython_accelerometer_get_y_MESSAGE0="y轴加速度",vF.mpython_accelerometer_get_y_TOOLTIP="",vF.mpython_accelerometer_get_x_MESSAGE0="x轴加速度",vF.mpython_accelerometer_get_x_TOOLTIP="",vF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",vF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",vF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",vF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",vF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",vF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",vF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",vF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="设置加速度范围,默认为 ±2g。",vF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="设置加速度范围为 %1",vF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="设置加速度分辨率,默认为 10bits。",vF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="设置加速度分辨率为 %1",vF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校准加速度计的3个轴(x,y,z)的加速值偏差。\n一般情况下无需校准,只有遇到加速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1g。\n注意:校准数据断电后不会保存。",vF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校准加速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4",vF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 轴 磁力",vF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南针方向",vF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校准指南针",vF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除当前环境磁场",vF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁场强度",vF.MPYTHON_TILT_ANGLE_HELPURL="",vF.MPYTHON_TILT_ANGLE_TOOLTIP="",vF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 轴倾斜角",vF.mpython_random_choice_MESSAGE0="返回随机项%1",vF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的随机项",vF.MACHINE_TIME_PULSE_US_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",vF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 电平持续时间(微秒)",vF.MACHINE_TIME_PULSE_US_TOOLTIP="",vF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",vF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",vF.MPYTHON_I2C_INIT_TOOLTIP="",vF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",vF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",vF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",vF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",vF.MPYTHON_I2C_SCAN_MESSAGE0="%1 扫描地址",vF.MPYTHON_I2C_SCAN_TOOLTIP="返回一个数组对象",vF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",vF.MPYTHON_I2C_DEINIT_MESSAGE0="关闭%1总线",vF.MPYTHON_I2C_DEINIT_TOOLTIP="",vF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",vF.MPYTHON_I2C_WRITETO_MESSAGE0="从%1 %5 地址%2 写入%3 停止位%4",vF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n写入:Number、String",vF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",vF.MPYTHON_I2C_READFROM_MESSAGE0="从%1 %5 地址%2 读取 字节数%3 停止位%4",vF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",vF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",vF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="从%1 %6 地址%2 读入缓存区%3 字节数%4 停止位%5",vF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",vF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",vF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 写入%3",vF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n写入:Number、String",vF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",vF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 读取 字节数%3",vF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",vF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",vF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="从%1 %6 地址%2 寄存器%5 读入缓存区%3 字节数%4",vF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",vF.mpython_print_MESSAGE0="调试输出 %1",vF.mpython_print_TOOLTIP="通过串口调试,输出字符串",vF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",vF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印数据到图表",vF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印数据到图表",vF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="数据",vF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",vF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="数据内容",vF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",vF.MPYTHON_INIT_CHART_TOOLTIP="",vF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化图表列标题",vF.MPYTHON_INIT_CHART_INPUT_WITH="初始化图表列标题",vF.MPYTHON_INIT_CHART_ITEM_TITLE="标题",vF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",vF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="数据列标题",vF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",vF.MPYTHON_MS="毫秒",vF.MPYTHON_US="微秒",vF.MPYTHON_TIME_DIFFERENCE_HELPURL="",vF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回运行时间差 开始时间 %1 结束时间 %2",vF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",vF.MPYTHON_TYPE_HELPURL="",vF.MPYTHON_TYPE_MESSAGE0="值 %1 的类型",vF.MPYTHON_TYPE_TOOLTIP="",vF.MPYTHON_TYPE_IS_HELPURL="",vF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的类型为 %2",vF.MPYTHON_TYPE_IS_TOOLTIP="",vF.MPYTHON_EVAL_HELPURL="",vF.MPYTHON_EVAL_MESSAGE0="计算表达式 %1 的结果",vF.MPYTHON_EVAL_TOOLTIP="计算字符串表达式,并返回结果",vF.MPYTHON_RETURN_HELPURL="",vF.MPYTHON_RETURN_MESSAGE0="返回 %1",vF.MPYTHON_RETURN_TOOLTIP="",vF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",vF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C数字光线",vF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",vF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",vF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",vF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元组形式返回所有wifi配置信息",vF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",vF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已连接到 WI-FI",vF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",vF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",vF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi连接 语音助手 Wi-Fi 名称 %1 密码 %2",vF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通过串口把WIF传给语音助手",vF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",vF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在文件系统将文件上传到板。",vF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="读取 语音助手 文本文件 %1",vF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",vF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="数码管显示 %1",vF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",vF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",vF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空数码管",vF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",vF.MPYTHON_MACHINE_RESET_HELPURL="",vF.MPYTHON_MACHINE_RESET_MESSAGE0="复位",vF.MPYTHON_MACHINE_RESET_TOOLTIP="与按下外部 RESET按键效果一样",vF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",vF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 颜色 %1",vF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 颜色",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",vF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",vF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 颜色 %1",vF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 颜色",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",vF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C电压传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁场传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C电导率传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C气压传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光电门传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",vF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 电机速度 %1",vF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",vF.MPYTHON_M1M2_LED_OFF_HELPURL="",vF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 关灯 %1",vF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",vF.MPYTHON_M1M2_LED_ON_HELPURL="",vF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 设灯 %1 亮度 %2",vF.MPYTHON_M1M2_LED_ON_TOOLTIP="",vF.MPYTHON_MUSIC_PIN_P6="默认",vF.MPYTHON_MUSIC_PIN_P6_HELPURL="",vF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",vF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",vF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",vF.MPYTHON_SLEEP_TOOLTIP="在进行下一个命令前,等待设定的时间。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符号ms(millisecond)\n微秒,符号μs(microsecond)",vF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="运行时间",vF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="获取开机或复位后的运行时间(毫秒)。",vF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",vF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="温度",vF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="获取 micro:bit 的温度(℃)。",vF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",vF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音乐 %1 等待 %2 循环 %3 引脚 %4",vF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放内置的音乐,可以设置等待模式和循环播放。",vF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",vF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音调 %1 %2 延时 %3 毫秒 引脚 %4",vF.MICROBIT_MUSIC_PITCH_TOOLTIP="在设定的时间长度里播放音调。",vF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",vF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循环 %4",vF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符为字符串形式。默认是掌控板的P6引脚",vF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",vF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",vF.MICROBIT_MUSIC_RESET_MESSAGE0="恢复音乐设置",vF.MICROBIT_MUSIC_RESET_TOOLTIP="将所有音乐设置 (当前节拍, 音阶和周期) 恢复成默认值。",vF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",vF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音乐 引脚 %1",vF.MICROBIT_MUSIC_STOP_TOOLTIP="默认是掌控板的P6引脚",vF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="设置每一拍等同 %1 分音符,每分钟节拍数 %2",vF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="设置回放速度 (节拍)。一定数量的滴答代表一拍,每拍每分钟播放次数 (BPM 每分钟节拍)。",vF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",vF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="设置播放速度为 %1 倍",vF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符为1拍,每分钟节拍数默认120,为1倍的播放速度",vF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",vF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="获取当前节拍",vF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="获取当前节拍: 每节拍滴答数, 每分钟节拍 (BPM)。",vF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",vF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引脚 %1 控制, neopixel 彩灯数 %2 ",vF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩灯。需要设定 neopixels 彩灯数量和控制脚。",vF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",vF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩灯 %1",vF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩灯",vF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",vF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="显示 neopixels 彩灯 %1",vF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="显示 / 更新全部 neopixels 彩灯。",vF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",vF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",vF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩灯的红、绿、蓝 (RGB) 颜色",vF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",vF.MICROBIT_PIN_TOUCHED_MESSAGE0="引脚 %1 被触摸",vF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引脚被触摸将返回 “真”。",vF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",vF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触摸",vF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引脚曾经被触摸将返回 “真”。",vF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",vF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引脚 %1 被触摸的次数",vF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被触摸的次数,然后清零。",vF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",vF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="读取引脚 %1 模拟电压",vF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="读取引脚的模拟输入电压。",vF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",vF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="设置模拟量 %1 到引脚 %2",vF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="写入模拟参数到指定引脚上。",vF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",vF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="读取引脚 %1 的数字输入",vF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="读取引脚的数字输入 (真 或 假)。",vF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",vF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="设置数字输出 %1 到引脚 %2",vF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="写入数字量 (真 或 假) 到指定引脚。",vF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",vF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",vF.MICROBIT_RADIO_ON_MESSAGE0="打开无线广播",vF.MICROBIT_RADIO_ON_TOOLTIP="打开无线广播。需要明确声明调用,因为它会消耗更多功率和占用更多内存。",vF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",vF.MICROBIT_RADIO_OFF_MESSAGE0="关闭无线广播",vF.MICROBIT_RADIO_OFF_TOOLTIP="关闭无线广播,节省功耗和内存。",vF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置无线广播消息长度 %1 %2 最大队列数量 %3 %4 信道 %5 %6 广播功率 %7 %8 地址 %9 %10 组 %11 %12 数据速率 %13",vF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置无线广播。\n 长度指单个消息的最大长度; \n 队列指可以存放在消息队列中消息的数量; \n 信道指无线广播使用的无线频率; \n 功率指发射广播信号的强度; \n 地址:32位值; \n 组:8位值(0-255); \n 数据速率指数据传输的速度。",vF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",vF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",vF.MICROBIT_RADIO_RESET_MESSAGE0="复位无线广播",vF.MICROBIT_RADIO_RESET_TOOLTIP="恢复无线广播到默认设置。",vF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="发送消息 %1",vF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="广播文字消息。",vF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",vF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="发送字节 %1",vF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="广播字节。",vF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",vF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",vF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",vF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",vF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字节",vF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字节。",vF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",vF.MICROBIT_SPEECH_SAY_MESSAGE0="说 %1",vF.MICROBIT_SPEECH_SAY_TOOLTIP="尝试说英语",vF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",vF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="读 %1",vF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精确发音。",vF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",vF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",vF.MICROBIT_SPEECH_SING_TOOLTIP="象机器人一样唱歌。",vF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",vF.MICROBIT_GESTURE_SHAKE="摇晃",vF.MICROBIT_GESTURE_UP="上",vF.MICROBIT_GESTURE_DOWN="下",vF.MICROBIT_GESTURE_LEFT="左",vF.MICROBIT_GESTURE_RIGHT="右",vF.MICROBIT_GESTURE_FACE_UP="朝上",vF.MICROBIT_GESTURE_FACE_DOWN="朝下",vF.MICROBIT_GESTURE_FREEFAIL="自由下落",vF.MICROBIT_IMAGE_HEART="心形",vF.MICROBIT_IMAGE_HEART_SMALL="心(小)",vF.MICROBIT_IMAGE_HAPPY="高兴",vF.MICROBIT_IMAGE_SMILE="笑脸",vF.MICROBIT_IMAGE_SAD="伤心",vF.MICROBIT_IMAGE_CONFUSED="困惑",vF.MICROBIT_IMAGE_ANGRY="生气",vF.MICROBIT_IMAGE_ASLEEP="睡着",vF.MICROBIT_IMAGE_SUPRISED="惊讶",vF.MICROBIT_IMAGE_SILLY="愚蠢",vF.MICROBIT_IMAGE_FABULOUS="极妙",vF.MICROBIT_IMAGE_MEH="无聊",vF.MICROBIT_IMAGE_YES="是",vF.MICROBIT_IMAGE_NO="否",vF.MICROBIT_IMAGE_CLOCK12="12点",vF.MICROBIT_IMAGE_CLOCK11="11点",vF.MICROBIT_IMAGE_CLOCK10="10点",vF.MICROBIT_IMAGE_CLOCK9="9点",vF.MICROBIT_IMAGE_CLOCK8="8点",vF.MICROBIT_IMAGE_CLOCK7="7点",vF.MICROBIT_IMAGE_CLOCK6="6点",vF.MICROBIT_IMAGE_CLOCK5="5点",vF.MICROBIT_IMAGE_CLOCK4="4点",vF.MICROBIT_IMAGE_CLOCK3="3点",vF.MICROBIT_IMAGE_CLOCK2="2点",vF.MICROBIT_IMAGE_CLOCK1="1点",vF.MICROBIT_IMAGE_ARROW_N="箭头-北",vF.MICROBIT_IMAGE_ARROW_NE="箭头-东北",vF.MICROBIT_IMAGE_ARROW_E="箭头-东",vF.MICROBIT_IMAGE_ARROW_SE="箭头-东南",vF.MICROBIT_IMAGE_ARROW_S="箭头-南",vF.MICROBIT_IMAGE_ARROW_SW="箭头-西南",vF.MICROBIT_IMAGE_ARROW_W="箭头-西",vF.MICROBIT_IMAGE_ARROW_NW="箭头-西北",vF.MICROBIT_IMAGE_TRIANGLE="三角形",vF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",vF.MICROBIT_IMAGE_CHESSBOARD="棋盘",vF.MICROBIT_IMAGE_DIAMOND="菱形",vF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",vF.MICROBIT_IMAGE_SQUARE="方形",vF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",vF.MICROBIT_IMAGE_RABBIT="兔子",vF.MICROBIT_IMAGE_COW="牛",vF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",vF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",vF.MICROBIT_IMAGE_MUSIC_QUAVERS="颤音",vF.MICROBIT_IMAGE_PITCHFORK="叉子",vF.MICROBIT_IMAGE_XMAS="圣诞树",vF.MICROBIT_IMAGE_PACMAN="吃豆人",vF.MICROBIT_IMAGE_TARGET="目标",vF.MICROBIT_IMAGE_TSHIRT="T恤衫",vF.MICROBIT_IMAGE_ROLLERSKATE="轮滑",vF.MICROBIT_IMAGE_DUCK="鸭子",vF.MICROBIT_IMAGE_HOUSE="房子",vF.MICROBIT_IMAGE_TORTOISE="乌龟",vF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",vF.MICROBIT_IMAGE_STICKFIGURE="线条画",vF.MICROBIT_IMAGE_GHOST="幽灵",vF.MICROBIT_IMAGE_SWORD="宝剑",vF.MICROBIT_IMAGE_GIRAFFE="长颈鹿",vF.MICROBIT_IMAGE_SKULL="头",vF.MICROBIT_IMAGE_UMBRELLA="伞",vF.MICROBIT_IMAGE_SNAKE="蛇",vF.MICROBIT_IMAGE_ALL_CLOCKS="所有时钟",vF.MICROBIT_IMAGE_ALL_ARROWS="所有箭头",vF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",vF.MICROBIT_PIN_SET_SERVO_TOOLTIP="设置舵机角度,范围为 0 ~ 180度",vF.MICROBIT_PIN_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",vF.MICROBIT_PIN_SET_MODE_HELPURL="",vF.MICROBIT_PIN_SET_MODE_TOOLTIP="引脚模式有三种:悬空、上拉、下拉",vF.MICROBIT_PIN_SET_MODE_MESSAGE0="设置引脚 %1 模式为 %2",vF.MICROBIT_PIN_MODE_NO="悬空",vF.MICROBIT_PIN_MODE_UP="上拉",vF.MICROBIT_PIN_MODE_DOWN="下拉",vF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",vF.MICROBIT_UART_INIT_TOOLTIP="",vF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",vF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到数据",vF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_READ_MSG_TOOLTIP="",vF.MICROBIT_UART_READ_MSG_MESSAGE0="读取串口 %1 字节",vF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",vF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="读取串口 %1 字节存至 %2",vF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",vF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口发送数据 %1",vF.MICROBIT_ALL_BYTES="全部",vF.MICROBIT_ALINE_BYTES="一行",vF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引脚 %1 被触发",vF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按键按下返回 “真”,否则返回 “假”。",vF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",vF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触发",vF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按键曾经按下过返回 “真”,否则返回 “假”。",vF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",vF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引脚 %1 被触发过的次数",vF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按键按下的总次数,然后清除计数。",vF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",vF.LABPLUS_LED_MESSAGE0="设置LED灯 引脚 %2 输出 %1",vF.LABPLUS_LED_TOOLTIP="",vF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",vF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="红外探测 引脚 %1 被触发",vF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",vF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="热敏传感器 引脚 %1 的值",vF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",vF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",vF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C数字光线传感器的值(lux)",vF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",vF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",vF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位传感器 引脚 %1 的值",vF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",vF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",vF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="烟雾探测器 引脚 %1 被触发",vF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",vF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_BUZZER_FOR_TOOLTIP="",vF.LABPLUS_BUZZER_FOR_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0 %2 毫秒",vF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_BUZZER_ON_TOOLTIP="",vF.LABPLUS_BUZZER_ON_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0",vF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_BUZZER_OFF_TOOLTIP="",vF.LABPLUS_BUZZER_OFF_MESSAGE0="关闭蜂鸣器 引脚0",vF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C温湿度传感器的 %1 值",vF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",vF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",vF.LABPLUS_TM_HM_SENSOR_TM="温度",vF.LABPLUS_TM_HM_SENSOR_HM="湿度",vF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",vF.LABPLUS_SET_SERVO_TOOLTIP="",vF.LABPLUS_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",vF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指纹传感器 引脚 %1 验证通过",vF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",vF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",vF.LABPLUS_SET_MOTOR_HELPURL="",vF.LABPLUS_SET_MOTOR_TOOLTIP="",vF.LABPLUS_SET_MOTOR_MESSAGE0="设置电机 %1 方向 %2 速度 %3",vF.LABPLUS_SET_MOTOR_CLOCKWISE="正转",vF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反转",vF.LABPLUS_STOP_MOTOR_HELPURL="",vF.LABPLUS_STOP_MOTOR_TOOLTIP="",vF.LABPLUS_STOP_MOTOR_MESSAGE0="停止电机",vF.LABPLUS_GET_RFID_ID_MESSAGE0="射频卡 引脚 %1 验证通过",vF.LABPLUS_GET_RFID_ID_TOOLTIP="",vF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",vF.LABPLUS_GET_RFID_VALUE_MESSAGE0="电子钱包 引脚 %1 余额",vF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",vF.LABPLUS_GET_RFID_VALUE_HELPURL="",vF.LABPLUS_SET_RFID_VALUE_MESSAGE0="设置电子钱包 引脚 %1 余额 %2 %3",vF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",vF.LABPLUS_SET_RFID_VALUE_HELPURL="",vF.LABPLUS_SET_RFID_ADD="增加",vF.LABPLUS_SET_RFID_MINUS="减少",vF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="声音传感器 引脚 %1 被触发",vF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",vF.LABPLUS_USB_SWITCH_HELPURL="",vF.LABPLUS_USB_SWITCH_TOOLTIP="",vF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB开关 引脚 %2",vF.LABPLUS_USB_SWITCH_ON="打开",vF.LABPLUS_USB_SWITCH_OFF="关闭",vF.LABPLUS_VOICE_RECORD_HELPURL="",vF.LABPLUS_VOICE_RECORD_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 语音录放器 引脚 %2",vF.LABPLUS_VOICE_RECORD_ON="打开",vF.LABPLUS_VOICE_RECORD_OFF="关闭",vF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引脚 %1 控制,RGB 彩灯数 %2 ",vF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩灯。需要设定 neopixels 彩灯数量和控制脚。",vF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",vF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩灯 %1",vF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩灯",vF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",vF.LABPLUS_RGB_SHOW_MESSAGE0="显示 RGB 彩灯 %1",vF.LABPLUS_RGB_SHOW_TOOLTIP="显示 / 更新全部 RGB 彩灯。",vF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",vF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",vF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩灯的红、绿、蓝 (RGB) 颜色",vF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="设置扩展端口 IO %1 为 %2",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示输出引脚,1表示输入引脚",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="输入",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="输出",vF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",vF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",vF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="读取扩展端口值 IO %1",vF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",vF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",vF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="设置扩展端口 IO %1 值为 %2",vF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",vF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",vF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超声波传感器的值",vF.MICROBIT_SET_MUSIC_PIN_HELPURL="",vF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",vF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="设置默认蜂鸣器引脚为 %1",vF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94",vF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人体感应 引脚 %1 被触发",vF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3",vF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="门磁开关 引脚 %1 被触发",vF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",vF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",vF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="声音传感器 引脚 %1 的值",vF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",vF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",vF.LABPLUS_SMOKE_SENSOR_MESSAGE0="烟雾传感器 引脚 %1 的值",vF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",vF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",vF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤湿度传感器 引脚 %1 的值",vF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",vF.LABPLUS_FAN_SWITCH_TOOLTIP="",vF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 风扇 引脚 %2",vF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 引脚 %2",vF.LABPLUS_VOICE_RECORD_PLAY="播放",vF.LABPLUS_VOICE_RECORD_REC="录音",vF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 引脚 %1",vF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_ON_TOOLTIP="",vF.LABPLUS_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚 %3",vF.LABPLUS_MOTOR_ON_CLOCKWISE="正转",vF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反转",vF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_OFF_TOOLTIP="",vF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流电机 引脚 %1",vF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",vF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",vF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C颜色传感器读取并储存颜色",vF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",vF.LABPLUS_RGB_COLOR_TOOLTIP="读取已储存的颜色",vF.LABPLUS_RGB_COLOR_MESSAGE0="RGB颜色 %1",vF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",vF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",vF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="设置I2C数码管的值为 %1",vF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",vF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",vF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="关闭I2C数码管",vF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",vF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="设置MIDI模块音调为 %1",vF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",vF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模块 %2 音符 %1",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",vF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si";vF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",vF.LABPLUS_UART_OFF_MIDI_NOTE="停止",vF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",vF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模块停止播放音符 %1",vF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",vF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模块 %1",vF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",vF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循迹传感器 引脚 %1 检测为黑",vF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",vF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",vF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35温度传感器 引脚 %1 的值",vF.LABPLUS_ROTATE_DIMMER_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8",vF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",vF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋转电位器 引脚 %1 的值",vF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",vF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震动传感器 引脚 %1 被触发",vF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",vF.LABPLUS_LASER_SWITCH_TOOLTIP="",vF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光开关 引脚 %2",vF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",vF.LABPLUS_4BUTTON_TOOLTIP="",vF.LABPLUS_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",vF.BLUE="A",vF.GREEN="B",vF.RED="C",vF.YELLOW="D",vF.LABPLUS_JOYSTICK_HELPURL="",vF.LABPLUS_JOYSTICK_TOOLTIP="",vF.LABPLUS_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",vF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",vF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",vF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模块(UART)播放第 %1 首音乐",vF.LABPLUS_UART_MP3_SET_VOLUME_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",vF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",vF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="设置MP3模块(UART)音量为 %1",vF.LABPLUS_UART_MP3_SET_STATUS_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",vF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",vF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="设置MP3模块(UART)状态为 %1",vF.PAUSE="暂停",vF.STOP="停止",vF.PLAY="继续播放",vF.PLAYNEXT="下一首",vF.PLAYPREV="上一首",vF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_INIT_TOOLTIP="",vF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",vF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打开录放器 %1 %2 引脚REC %3 引脚PLAY %4",vF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="关闭录放器 %1 引脚REC %2 引脚PLAY %3",vF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_ON1_TOOLTIP="",vF.LABPLUS_MOTOR_ON1_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",vF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_OFF1_TOOLTIP="",vF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",vF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",vF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="设置LCD游标位置%1 X %2 Y %3",vF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",vF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="设置LCD显示 %1",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循环次数使用",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滚动LCD显示内容",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",vF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",vF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD显示内容",vF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",vF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到数据",vF.BLUEBIT_UART="串口",vF.BLUEBIT_INFRARED_SIGNAL="红外信号",vF.BLUEBIT_BLUEBOOTH="蓝牙",vF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_READ_MSG_TOOLTIP="",vF.LABPLUS_UART_READ_MSG_MESSAGE0="读取 %1 数据",vF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",vF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 发送数据 %2",vF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",vF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",vF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="设置点阵 %1 第一行显示%2 第二行显示%3 第三行显示%4 第四行显示%5 第五行显示%6 第六行显示%7 第七行显示%8 第八行显示%9 ",vF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2="设置点阵 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",vF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",vF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",vF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空点阵",vF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",vF.LABPLUS_UART_SET_OLED_TOOLTIP="",vF.LABPLUS_UART_SET_OLED_MESSAGE0="设置OLED屏 %1 X %2 Y %3 显示文本 %4 字体为 %5",vF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",vF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",vF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩阵 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",vF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",vF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",vF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",vF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",vF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",vF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模拟光线传感器 引脚 %1 的值",vF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",vF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按键模块 引脚 %1 被按下",vF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",vF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="设置舵机 %1 的角度为 %2",vF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",vF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="设置马达 %1 方向 %2 速度 %3",vF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",vF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止马达 %1",vF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="声音传感器的值",vF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",vF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光线传感器的值",vF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",vF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_INIT_I2C_TOOLTIP="",vF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 频率 %1 引脚SDA %2 引脚SCL %3",vF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_I2C_READ_TOOLTIP="",vF.MICROBIT_I2C_READ_MESSAGE0="I2C读取从地址 %1 读取 %2 字节",vF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_I2C_WRITE_TOOLTIP="",vF.MICROBIT_I2C_WRITE_MESSAGE0="I2C写入 %2 到地址 %1",vF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",vF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",vF.BOTBIT_MOTOR_ON_HELPURL="",vF.BOTBIT_MOTOR_ON_TOOLTIP="范围:-2000~2000",vF.BOTBIT_MOTOR_ON_MESSAGE0="设置机器人 %1 右轮速度为 %2 左轮速度为 %3",vF.BOTBIT_MOTOR_LEFT="左",vF.BOTBIT_MOTOR_RIGHT="右",vF.BOTBIT_SERVO_UP="上方",vF.BOTBIT_SERVO_DOWN="下方",vF.BOTBIT_MOTOR_FORWARD="前进",vF.BOTBIT_MOTOR_BACKWARD="后退",vF.BOTBIT_HOLDBALL_HELPURL="",vF.BOTBIT_HOLDBALL_TOOLTIP="",vF.BOTBIT_HOLDBALL_MESSAGE0="双臂抱起",vF.BOTBIT_STEERING_ENGINEL_HELPURL="",vF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度范围为-45°~45°",vF.BOTBIT_STEERING_ENGINEL_MESSAGE0="设置 %1臂 %2的角度为 %3",vF.BOTBIT_SERVO_Y="Y轴舵机",vF.BOTBIT_SERVO_X="X轴舵机",vF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",vF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度范围为-45°~45°",vF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="设置 %1腿 %2舵机的角度为 %3",vF.BOTBIT_UPDATEPOSITION_HELPURL="",vF.BOTBIT_UPDATEPOSITION_TOOLTIP="",vF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵机角度",vF.BOTBIT_ULTRASONIC_HELPURL="",vF.BOTBIT_ULTRASONIC_TOOLTIP="",vF.BOTBIT_ULTRASONIC_MESSAGE0="超声波传感器的值",vF.BOTBIT_WALKING_HELPURL="",vF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推荐1000~2000",vF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步数%2 周期%3 方向%1 ",vF.BOTBIT_WALKING_FORWARD="前",vF.BOTBIT_WALKING_BACK="后",vF.BOTBIT_MOONWALKER_HELPURL="",vF.BOTBIT_MOONWALKER_TOOLTIP="推荐周期1000~2000, 幅度10~50",vF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步数%2 周期%3 幅度%4 方向%1 ",vF.BOTBIT_MOONWALKER_L="左",vF.BOTBIT_MOONWALKER_R="右",vF.BOTBIT_CRUSAITO_HELPURL="",vF.BOTBIT_CRUSAITO_TOOLTIP="推荐步数2~10, 幅度10~50",vF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步数%2 周期%3 幅度%4 方向%1",vF.BOTBIT_CRUSAITO_CW="逆时针",vF.BOTBIT_CRUSAITO_ANTICW="顺时针",vF.BOTBIT_FLAPPING_HELPURL="",vF.BOTBIT_FLAPPING_TOOLTIP="推荐步数5~15, 幅度10~30, 周期1000~2000",vF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步数%2 周期%3 幅度%4 方向%1",vF.BOTBIT_FLAPPING_FORWARD="前",vF.BOTBIT_FLAPPING_BACK="后",vF.BOTBIT_HOME_HELPURL="",vF.BOTBIT_HOME_TOOLTIP="",vF.BOTBIT_HOME_MESSAGE0="机器人舞步初始化",vF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",vF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",vF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="设置MIDI模块音量为 %1",vF.labplus_mapping_MESSAGE0="映射%1 从%2 , %3到%4 , %5",vF.labplus_mapping_TOOLTIP="将0~100中的10映射到0~200中并返回映射值",vF.labplus_mapping_HELPURL="",vF.JOINT_MIDI_PIANO="平台钢琴",vF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",vF.JOINT_MIDI_ELECTRICGRANDPIANO="电钢琴",vF.JOINT_MIDI_HARPSICHORD="大键琴",vF.JOINT_MIDI_Celesta="钢片琴",vF.JOINT_MIDI_Glockenspiel="钟琴",vF.JOINT_MIDI_Musicalbox="音乐盒",vF.JOINT_MIDI_Marimba="马林巴琴",vF.JOINT_MIDI_Xylophone="木琴",vF.JOINT_MIDI_TubularBell="管钟",vF.JOINT_MIDI_Dulcimer="洋琴",vF.JOINT_Vibraphone="颤音琴",vF.JOINT_MIDI_ORGAN="音栓风琴",vF.JOINT_Acoustic_Guitar="木吉他",vF.JOINT_Electric_Guitar="电吉他",vF.JOINT_Acoustic_Bass="民谣贝斯",vF.JOINT_String_Ensemble="弦乐合奏",vF.JOINT_Violin="小提琴",vF.JOINT_Trumpet="小号",vF.JOINT_Sax="萨克斯",vF.JOINT_Steel_Drums="钢鼓",vF.JOINT_Lead="合成音主旋律",vF.JOINT_Pad="合成音衬底",vF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",vF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音调 %1",vF.Carbit_init_MESSAGE0="CarBit初始化",vF.Carbit_init_TOOLTIP="",vF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_setLeftMotor_MESSAGE0="B2电机速度 %1",vF.Carbit_setLeftMotor_TOOLTIP="范围:-100~100",vF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_setRightMotor_MESSAGE0="B1电机速度 %1",vF.Carbit_setRightMotor_TOOLTIP="范围:-100~100",vF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_analog_light_TOOLTIP="Q3对应Pin1,Q4对应Pin2",vF.Carbit_analog_light_MESSAGE0="%1 模拟光线的值",vF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_Speed_U10_TOOLTIP="对应U10",vF.Carbit_Speed_U10_MESSAGE0="左轮速度",vF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_Speed_U11_TOOLTIP="对应U11",vF.Carbit_Speed_U11_MESSAGE0="右轮速度",vF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_Distance_TOOLTIP="",vF.Carbit_Distance_MESSAGE0="超声波的值",vF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_tracking_TOOLTIP="",vF.Carbit_tracking_MESSAGE0="循迹参数 %1 直行速度 %2 最大限速 %3 转弯延时 %5 转弯速度系数 %4 ",vF.XUNFEI_SPEECH_TTS_HELPURL="",vF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音频文件格式只能是 *.pcm",vF.XUNFEI_SPEECH_TTS_MESSAGE0="[讯飞语音] 合成音频 %1 APPID %2 APISecret %3 APIKey %4 文字内容 %5 转存为音频文件 %6",vF.XUNFEI_SPEECH_IAT_HELPURL="",vF.XUNFEI_SPEECH_IAT_TOOLTIP="可识别的音频格式有 *.pcm 与 *.wav",vF.XUNFEI_SPEECH_IAT_MESSAGE0="[讯飞语音] 识别音频 %1 APPID %2 APISecret %3 APIKey %4 待识别音频文件 %5",vF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",vF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",vF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[讯飞语音] 识别结果",vF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",vF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",vF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",vF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",vF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",vF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",vF.MPYTHON_ZKAI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",vF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",vF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",vF.MPYTHON_ZKAI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",vF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",vF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",vF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",vF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",vF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",vF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",vF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",vF.MPYTHON_ZKAI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",vF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",vF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",vF.MPYTHON_ZKAI_SENSOR_OffOn_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%85%B3%E9%97%AD%E6%91%84%E5%83%8F%E5%A4%B4",vF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",vF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",vF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",vF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",vF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",vF.MPYTHON_ZKAI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",vF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",vF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",vF.MPYTHON_ZKAI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",vF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",vF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",vF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",vF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",vF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",vF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%A2%9E%E7%9B%8A%E5%80%BC",vF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",vF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",vF.MPYTHON_ZKAI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",vF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="(掌控AI)寻找颜色 LAB值%1",vF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",vF.MPYTHON_ZKAI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",vF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",vF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追踪色块",vF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",vF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追踪颜色 显示%1",vF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",vF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1获取识别后色块的 所有参数",vF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1获取识别后色块的 x坐标",vF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 y坐标",vF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1获取识别后色块的 宽度",vF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1获取识别后色块的 高度",vF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1获取识别后色块的 数量",vF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1获取识别后色块的 中心x坐标",vF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 中心y坐标",vF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1获取识别后色块的 矩形",vF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)选择训练模型 人脸",vF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 人脸识别",vF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_ZKAI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)获取识别后人脸的 所有参数",vF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",vF.MPYTHON_ZKAI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)获取识别后人脸的 x坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)获取识别后人脸的 y坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)获取识别后人脸的 宽度",vF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",vF.MPYTHON_ZKAI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)获取识别后人脸的 高度",vF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",vF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)获取识别后人脸的 置信度",vF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",vF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)获取识别后人脸的 数量",vF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",vF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",vF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",vF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",vF.MPYTHON_ZKAI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",vF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",vF.MPYTHON_ZKAI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)选择训练模型 20类",vF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 20类识别",vF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",vF.MPYTHON_ZKAI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)获取识别后20类的 所有参数",vF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",vF.MPYTHON_ZKAI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)获取识别后20类的 x坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)获取识别后20类的 y坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)获取识别后20类的 宽度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)获取识别后20类的 高度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)获取识别后20类的 置信度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)获取识别后20类的 数量",vF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",vF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)获取识别后20类的 类型",vF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)获取识别后20类的 类型数量",vF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",vF.MPYTHON_ZKAI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)选择训练模型 手写数字",vF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",vF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)调用摄像头进行 手写数字识别",vF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)获取识别后手写数字的 所有参数",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",vF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)获取识别后手写数字的 数字",vF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)获取识别后手写数字的 置信度",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="(掌控AI)获取 识别%1",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="(掌控AI)获取 识别 所有参数",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="(掌控AI)人脸识别",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",vF.MPYTHON_ZKAI_IMAGE_20CLASS_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="(掌控AI)可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",vF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",vF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",vF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",vF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",vF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",vF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",vF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",vF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",vF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",vF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",vF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",vF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",vF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",vF.MPYTHON_ZKAI_LCD_TEXT_MOST_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",vF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",vF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",vF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",vF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",vF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",vF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",vF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-2%EF%BC%9A-%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",vF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",vF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",vF.MPYTHON_ZKAI_SENSOR_ENABLE_START="开始抓取图像",vF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取图像",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平镜像",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻转",vF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="对比度",vF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",vF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="饱和度",vF.MPYTHON_ZKAI2_FACE_YOLO="人脸识别",vF.MPYTHON_ZKAI2_CLASS_20_YOLO="20类识别",vF.MPYTHON_ZKAI2_MNIST_NET="数字识别",vF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人脸",vF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="20类",vF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",vF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",vF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",vF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="声明python 运行环境",vF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",vF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C获取颜色",vF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",vF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",vF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C获取 %1",vF.MPYTHON_lARK_RED="红色",vF.MPYTHON__LARK_GREEN="绿色",vF.MPYTHON__LARK_BLUE="蓝色",vF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C获取HSV",vF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C获取HSV %1",vF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",vF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C获取颜色",vF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",vF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="识别 %1",vF.MPYTHON_LARK_RED="红色",vF.MPYTHON_LARK_GREEN="绿色",vF.MPYTHON_LARK_BLUE="蓝色",vF.MPYTHON_LARK_ORANGE="橙色",vF.MPYTHON_LARK_YELLOW="黄色",vF.MPYTHON_LARK_PURPLE="紫色",vF.MPYTHON_LARK_CYAN="青色",vF.MPYTHON_LARK_NONE="无色",vF.MPYTHON_LARK_NULL="无法获取",vF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",vF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超声波",vF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",vF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C设置 %1 速度 %2",vF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C获取 %1 巡线值",vF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右边",vF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左边",vF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循迹传感 %1 遇到黑线",vF.MPYTHON_LARK_SEARCH_LEFT="左边",vF.MPYTHON_LARK_SEARCH_RIGHT="右边",vF.MPYTHON_LARK_SEARCH_LEFT2="两边都",vF.MPYTHON_LARK_SEARCH_RIGHT2="两边都没有",vF.MPYTHON_LARK_SEARCH_BOTH="两边都",vF.MPYTHON_LARK_SEARCH_NONE="两边都没有",vF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",vF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里马获取颜色",vF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",vF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里马获取 %1",vF.MPYTHON_lARK_CAR_RED="红色",vF.MPYTHON__LARK_CAR_GREEN="绿色",vF.MPYTHON__LARK_CAR_BLUE="蓝色",vF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里马获取HSV",vF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里马获取HSV %1",vF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",vF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里马识别颜色",vF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",vF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里马识别颜色 %1",vF.MPYTHON_LARK_CAR_RED="红色",vF.MPYTHON_LARK_CAR_GREEN="绿色",vF.MPYTHON_LARK_CAR_BLUE="蓝色",vF.MPYTHON_LARK_CAR_ORANGE="橙色",vF.MPYTHON_LARK_CAR_YELLOW="黄色",vF.MPYTHON_LARK_CAR_PURPLE="紫色",vF.MPYTHON_LARK_CAR_CYAN="青色",vF.MPYTHON_LARK_CAR_NONE="无识别",vF.MPYTHON_LARK_CAR_NULL="识别错误",vF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",vF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里马获取超声波",vF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里马获取 %1 循迹数值",vF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右边",vF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左边",vF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里马循迹传感器 %1 碰到黑线",vF.MPYTHON_LARK_CAR_SEARCH_LEFT="左边",vF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右边",vF.MPYTHON_LARK_CAR_SEARCH_LEFT2="两边",vF.MPYTHON_LARK_CAR_SEARCH_NONE="两边都没有",vF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",vF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="电机驱动 %1 速度 %2",vF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",vF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里马 %1 速度 %2",vF.MPYTHON_LARK_CAR_MOTION_LEFT="左转",vF.MPYTHON_LARK_CAR_MOTION_RIGHT="右转",vF.MPYTHON_LARK_CAR_MOTION_FORWARD="前进",vF.MPYTHON_LARK_CAR_MOTION_BACKWARD="后退",vF.MPYTHON_LARK_CAR_MOTION_STOP="停止",vF.MPYTHON_DEFINE_THREAD_MESSAGE0="定义线程 %1",vF.MPYTHON_RUN_THREAD_MESSAGE0="运行线程 %1",vF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 转换数字为bytes %1 %2 %3 %4 待转换数字 %5",vF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes为数字 %1 %2 %3 %4 待转换bytes %5",vF.LITTLE_ENDIAN="低位优先(默认)",vF.BIG_ENDIAN="高位优先",vF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[适用2.0板] 当掌控板 %1 时",vF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",vF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向后倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",vF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",vF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被单击",vF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被双击",vF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="坠落",vF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="横滚角",vF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",vF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",vF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",vF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",vF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",vF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",vF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按键 %1 已经按下",vF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",vF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",vF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按键 %1 曾经按下",vF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",vF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",vF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按键 %1 按下过的次数",vF.MPYTHON2_BUTTON_EVENT_MESSAGE0="当按键 %1 被 %2 时",vF.MPYTHON2_BUTTON_EVENT_HELPURL="",vF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",vF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",vF.MPYTHON2_BUTTON_EVENT_RELEASED="松开",vF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",vF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="触摸键 %1 已经按下",vF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",vF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="触摸键 %1 曾经按下",vF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",vF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="触摸键 %1 按下过的次数",vF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",vF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="触摸键 %1 值",vF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",vF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",vF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="触摸",vF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="释放",vF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="设置触摸键 %1 阀值为 %2",vF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",vF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",vF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",vF.BLE_UUID_TOOLTIP="",vF.BLE_SETUP_PERIPHERAL_HELPURL="",vF.BLE_SETUP_PERIPHERAL_TOOLTIP="",vF.BLE_SETUP_PERIPHERAL_MESSAGE0="构建 BLE 外围设备对象 %1 显示名称 %2 Service UUID %3",vF.BLE_ADD_CHARACTERISTIC_HELPURL="",vF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",vF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定义 BLE 属性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",vF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",vF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",vF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外围设备 %1",vF.BLE_START_BROADCASTING="开始广播",vF.BLE_STOP_BROADCASTING="停止广播",vF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",vF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",vF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="读 BLE 设备的属性 %1",vF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",vF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",vF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="写 BLE 设备的属性 %1 %2 值 %3 Notify %4",vF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",vF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",vF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外围设备断开连接",vF.BLE_PERIPHERAL_MAC_HELPURL="",vF.BLE_PERIPHERAL_MAC_TOOLTIP="",vF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外围设备 MAC地址",vF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",vF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",vF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="当 BLE 与中央设备建立连接时 %1 连接句柄 %2 地址类型 %3 中央设备的MAC地址 %4",vF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",vF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",vF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="当 BLE 设备的属性值被改写时 %1 连接句柄 %2 被写属性句柄 %3 写入的数据 %4",vF.BLE_SETUP_CENTERAL_HELPURL="",vF.BLE_SETUP_CENTERAL_TOOLTIP="",vF.BLE_SETUP_CENTERAL_MESSAGE0="构建 BLE 中央设备对象 显示名称 %1",vF.BLE_CENTERAL_CONNECT_HELPURL="",vF.BLE_CENTERAL_CONNECT_TOOLTIP="",vF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央设备连接到 %1 %2",vF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",vF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",vF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外围设备已连接 ?",vF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",vF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",vF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="设定 %1 为 已连接外围设备 属性对象 %2 Service UUID %3 Characteristic UUID %4",vF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",vF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",vF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="读 已连接外围设备的 属性 %1 值",vF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",vF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",vF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="写 已连接外围设备的 属性 %1 值 %2",vF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",vF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",vF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="当 已连接外围设备发起 Notify 通知事件时 %1 属性的值柄 %2 通知的属性值 %3",vF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",vF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",vF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已连接的外围设备 %1",vF.BLE_CENTERAL_CLOSE_HELPURL="",vF.BLE_CENTERAL_CLOSE_TOOLTIP="",vF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央设备 断开连接",vF.BLE_INFO_NAME="蓝牙名称",vF.BLE_INFO_MAC="MAC地址",vF.BLE_INFO_RSSI="信号强度",vF.BLE_INFO_ADDRTYPE="地址类型",vF.BLE_INFO_ADVTYPE="广播类型",vF.BLE_INFO_DATA="原始数据(元组)",vF.BLE_SETUP_UART_HELPURL="",vF.BLE_SETUP_UART_TOOLTIP="",vF.BLE_SETUP_UART_MESSAGE0="构建 BLE UART从机 显示名称 %1",vF.BLE_UART_IS_CONNECTED_HELPURL="",vF.BLE_UART_IS_CONNECTED_TOOLTIP="",vF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已连接 ?",vF.BLE_UART_ANY_HELPURL="",vF.BLE_UART_ANY_TOOLTIP="",vF.BLE_UART_ANY_MESSAGE0="BLE UART 可读字节数量",vF.BLE_UART_IRQ_HELPURL="",vF.BLE_UART_IRQ_TOOLTIP="",vF.BLE_UART_IRQ_MESSAGE0="当 BLE UART 接收到数据时 %1 执行 %2",vF.BLE_UART_READ_HELPURL="",vF.BLE_UART_READ_TOOLTIP="从 UART 另一端发送过来的消息",vF.BLE_UART_READ_MESSAGE0="已接收数据",vF.BLE_UART_WRITE_HELPURL="",vF.BLE_UART_WRITE_TOOLTIP="",vF.BLE_UART_WRITE_MESSAGE0="BLE UART 发送字节 %1",vF.BLE_UART_CLOSE_HELPURL="",vF.BLE_UART_CLOSE_TOOLTIP="",vF.BLE_UART_CLOSE_MESSAGE0="BLE UART 断开连接",vF.BLE_SETUP_UART_MASTER_HELPURL="",vF.BLE_SETUP_UART_MASTER_TOOLTIP="",vF.BLE_SETUP_UART_MASTER_MESSAGE0="构建 BLE UART主机 连接到 %1 %2",vF.BLE_SETUP_HID_HELPURL="",vF.BLE_SETUP_HID_TOOLTIP="",vF.BLE_SETUP_HID_MESSAGE0="构建 BLE HID %1 对象 %2 显示名称 %3 电池电量 %4",vF.BLE_HID_MOUSE="鼠标",vF.BLE_HID_KEYBOARD="键盘",vF.BLE_HID_CONSUMER="遥控器",vF.BLE_HID_ADVERTISE_HELPURL="",vF.BLE_HID_ADVERTISE_TOOLTIP="",vF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID设备 %1",vF.BLE_HID_CONNECT_EVENT_HELPURL="",vF.BLE_HID_CONNECT_EVENT_TOOLTIP="",vF.BLE_HID_CONNECT_EVENT_MESSAGE0="当 BLE HID设备 连接时",vF.BLE_HID_DISCONNECT_HELPURL="",vF.BLE_HID_DISCONNECT_TOOLTIP="",vF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID设备 断开连接",vF.BLE_HID_BATTERY_LEVEL_HELPURL="",vF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",vF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID设备 电池电量",vF.BLE_HID_MOUSE_BUTTONS_HELPURL="",vF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",vF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠标键 %1",vF.BLE_HID_MOUSE_CLICK_HELPURL="",vF.BLE_HID_MOUSE_CLICK_TOOLTIP="",vF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠标 点击按键 %1",vF.BLE_HID_MOUSE_PRESS_HELPURL="",vF.BLE_HID_MOUSE_PRESS_TOOLTIP="",vF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠标 长按按键 %1",vF.BLE_HID_MOUSE_RELEASE_HELPURL="",vF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",vF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠标 释放按键 %1",vF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",vF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",vF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠标 释放所有按键",vF.BLE_HID_MOUSE_MOVE_HELPURL="",vF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光标移动量,范围 ±127 。\nwheel - 滚轮,范围 ±127 。",vF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠标 光标移动 %1 X轴移动量 %2 Y轴移动量 %3 滚轮 %4",vF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",vF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",vF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="键盘按键 %1",vF.BLE_HID_KEYBOARD_SEND_HELPURL="",vF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",vF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 键盘 按下按键 %1",vF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",vF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",vF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 键盘 同时按下按键 %1 %2 %3",vF.BLE_HID_KEYBOARD_PRESS_HELPURL="",vF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",vF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 键盘 长按按键 %1",vF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",vF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",vF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 键盘 释放按键 %1",vF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",vF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",vF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 键盘 释放所有按键",vF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",vF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",vF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遥控器键 %1",vF.BLE_HID_CONSUMER_SEND_HELPURL="",vF.BLE_HID_CONSUMER_SEND_TOOLTIP="",vF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遥控器点击 %1",vF.BLE_SETUP_IBEACON_HELPURL="",vF.BLE_SETUP_IBEACON_TOOLTIP="",vF.BLE_SETUP_IBEACON_MESSAGE0="构建 BLE iBeacon设备 %1 UUID %2 major %3 minor %4",vF.BLE_IBEACON_ADVERTISE_HELPURL="",vF.BLE_IBEACON_ADVERTISE_TOOLTIP="",vF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon设备 %1",vF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",vF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回电量,单位mV",vF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的电压值(mV)",vF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",vF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回编码后的红外脉冲数据buff",vF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 红外脉冲任意编码 %1 载波频率(Hz) %2 code总数 %3 循环码位置 %4 code列表 %5 编码波形数据 %6",vF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",vF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回编码后的红外脉冲数据buff\n用户码:0~255\n命令码:0~255",vF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 红外脉冲NEC编码 %1 用户码 %2 命令码 %3",vF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",vF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",vF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 发送红外脉冲数据 %1 %2",vF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只发一次",vF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持续发送",vF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",vF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="当发送重复码后,使用此函数来停止发送。",vF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止发送红外脉冲数据",vF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",vF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="学习开始后,需等待4秒,之后返回学习结果。";vF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 开始红外学习",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 红外学习有结果 ?",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回学习后的“红外编码数据”,须在 learn 函数后使用。",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 学习到的红外编码数据",vF.MPYTHON_MLX90615_SET_HELPURL="",vF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接触测温传感器 设置发射系数%1",vF.MPYTHON_MLX90615_SET_TOOLTIP="",vF.MPYTHON_MLX90615_GET_HELPURL="",vF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接触测温传感器 获取系数",vF.MPYTHON_MLX90615_GET_TOOLTIP="",vF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",vF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接触测温传感器 获取测温",vF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",vF.MPYTHON_MQ135_INIT_HELPURL="",vF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 输出引脚%1 温度%2 ℃ 湿度%3 %",vF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 连接扩展板的电源口 V ,GND连接扩展板的地线口 G ,AO输出连接扩展板的引脚 P0/P1(即选引脚)\nMQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度",vF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",vF.MPYTHON_MQ135_OPTIONS_HELPURL="",vF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探测到的二氧化碳的百万分之一(假设只有空气中的二氧化碳) ppm浓度",vF.MPYTHON_MQ135_GET_RZERO="校正传感器电阻",vF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正传感器电阻(校准温度、湿度)",vF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度",vF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度(校准温度、湿度)",vF.mpython_gyroscope_get_HELPURL="",vF.mpython_gyroscope_get_MESSAGE0="%1 轴角速度",vF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版适用",vF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",vF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",vF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",vF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",vF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",vF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",vF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",vF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",vF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",vF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="设置角速度范围,默认为 ±256dps。仅适用于掌控板2.3及以上版本",vF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="设置角速度范围为 %1",vF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",vF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校准陀螺仪角速度计的3个轴(x,y,z)的角速度值偏差。\n一般情况下无需校准,只有遇到角速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1024dps。\n注意:v2.3版本以后适用",vF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校准角速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4";const XF=vF,VF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"是數字",TEXT_IS_ALPHA:"是字母",TEXT_IS_ALNUM:"是數字和字母的組合",TEXT_LIST_START:"初始化列表 [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"初始化元組 (",TEXT_TUPLE_END:")",TEXT_DICT_START:"初始化字典 {",TEXT_DICT_END:"}",TEXT_SET_START:"初始化集合 {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",ADD_COMMENT:"添加註釋",CHANGE_VALUE_TITLE:"更改值:",CLEAN_UP:"整理塊",COLLAPSE_ALL:"折疊塊",COLLAPSE_BLOCK:"折疊塊",COLOUR_BLEND_COLOUR1:"顏色1",COLOUR_BLEND_COLOUR2:"顏色2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"比例",COLOUR_BLEND_TITLE:"混合",COLOUR_BLEND_TOOLTIP:"用一個給定的比率(0.0-1.0)混合兩種顏色。",COLOUR_PICKER_HELPURL:"https://zh.wikipedia.org/wiki/顏色",COLOUR_PICKER_TOOLTIP:"從調色板中選擇一種顏色。",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"隨機顏色",COLOUR_RANDOM_TOOLTIP:"隨機選擇一種顏色。",COLOUR_RGB_BLUE:"藍色",COLOUR_RGB_GREEN:"綠色",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"紅色",COLOUR_RGB_TITLE:"顏色",COLOUR_RGB_TOOLTIP:"通過指定紅色、綠色和藍色的量創建一種顏色。所有的值必須介於0和100之間。",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"中斷循環",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"繼續下一次循環",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"中斷包含它的循環。",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"跳過這個循環的剩余部分,並繼續下一次叠代。",CONTROLS_FLOW_STATEMENTS_WARNING:"警告:此塊僅可用於在一個循環內。",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"為每個項目 %1 在列表中 %2",CONTROLS_FOREACH_TOOLTIP:"遍歷每個列表中的項目,將變量“%1”設定到該項中,然後執行某些語句。",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"使用 %1 從範圍 %2 到 %3 每隔 %4",CONTROLS_FOR_TOOLTIP:"從起始數到結尾數中取出變量“%1”的值,按指定的時間間隔,執行指定的塊。",CONTROLS_IF_ELSEIF_TOOLTIP:"在if語句塊中增加一個條件。",CONTROLS_IF_ELSE_TOOLTIP:"添加一個最終的,包括所有情況的節到if塊中。",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",CONTROLS_IF_IF_TOOLTIP:"增加、刪除或重新排列各節來重新配置“if”塊。",CONTROLS_IF_MSG_ELSE:"否則",CONTROLS_IF_MSG_ELSEIF:"否則如果",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",CONTROLS_IF_MSG_IF:"如果",CONTROLS_IF_TOOLTIP_1:"如果值為真,執行一些語句。",CONTROLS_IF_TOOLTIP_2:"如果值為真,則執行第一塊語句。否則,則執行第二塊語句。",CONTROLS_IF_TOOLTIP_3:"如果第一個值為真,則執行第一塊的語句。否則,如果第二個值為真,則執行第二塊的語句。",CONTROLS_IF_TOOLTIP_4:"如果第一個值為真,則執行第一塊對語句。否則,如果第二個值為真,則執行語句的第二塊。如果沒有值為真,則執行最後一塊的語句。",CONTROLS_REPEAT_FOREVER:"一直重復",CONTROLS_REPEAT_FOREVER_TOOLTIP:"一直執行一些語句。",CONTROLS_REPEAT_HELPURL:"https://zh.wikipedia.org/wiki/For循環",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"重復 %1 次",CONTROLS_REPEAT_TOOLTIP:"多次執行一些語句。",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"重復直到",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"重復當",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"只要值為假,執行一些語句。",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"只要值為真,執行一些語句。",DELETE_ALL_BLOCKS:"刪除所有%1塊嗎?",DELETE_BLOCK:"刪除塊",DELETE_VARIABLE:"刪除“%1”變量",DELETE_VARIABLE_CONFIRMATION:"刪除“%2”變量的%1種用途麽?",DELETE_X_BLOCKS:"刪除塊",DISABLE_BLOCK:"禁用塊",DUPLICATE_BLOCK:"復制",ENABLE_BLOCK:"啟用塊",EXPAND_ALL:"展開塊",EXPAND_BLOCK:"展開塊",EXTERNAL_INPUTS:"多行輸入",HELP:"幫助",INLINE_INPUTS:"單行輸入",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"創建空列表",TUPLE_CREATE_EMPTY_TITLE:"創建空元組",DICT_CREATE_EMPTY_TITLE:"創建空字典",SET_CREATE_EMPTY_TITLE:"創建空集合",LISTS_CREATE_EMPTY_TOOLTIP:"返回一個列表,長度為 0,不包含任何數據記錄",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"列表",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"元組",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"字典",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"集合",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個列表塊。",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個元組塊。",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個字典塊。",SET_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個集合塊。",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"初始化列表",TUPLE_CREATE_WITH_INPUT_WITH:"初始化元組",DICT_CREATE_WITH_INPUT_WITH:"初始化字典",SET_CREATE_WITH_INPUT_WITH:"初始化集合",LISTS_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到列表中。",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到元組中。",DICT_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到字典中。",SET_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到集合中。",LISTS_CREATE_WITH_TOOLTIP:"建立一個具有任意數量項目的列表。",LISTS_GET_INDEX_FIRST:"第一",LISTS_GET_INDEX_FROM_END:"倒數第",LISTS_GET_INDEX_FROM_START:"第",LISTS_GET_INDEX_GET:"獲得",LISTS_GET_INDEX_GET_REMOVE:"取出並移除",LISTS_GET_INDEX_LAST:"最後",LISTS_GET_INDEX_RANDOM:"隨機",LISTS_GET_INDEX_REMOVE:"移除",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"在列表 %1 中移除 %2 項",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"返回列表中的第一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_FROM:"返回在列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"返回列表中的最後一項。",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"隨機返回列表中的一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"移除並返回列表中的第一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:"移除並返回列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"移除並返回列表中的最後一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"移除並返回列表中的一個隨機項目中。",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"移除列表中的第一項",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:"移除在列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"移除列表中的最後一項",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"刪除列表中的一個隨機的項。",LISTS_GET_SUBLIST_END_FROM_END:"到倒數第#",LISTS_GET_SUBLIST_END_FROM_START:"到#",LISTS_GET_SUBLIST_END_LAST:"到最後",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"從頭獲得子列表",LISTS_GET_SUBLIST_START_FROM_END:"從倒數#取得子列表",LISTS_GET_SUBLIST_START_FROM_START:"從#取得子列表",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"復制列表中指定的部分。",LISTS_INDEX_FROM_END_TOOLTIP:"%1是最後一項。",LISTS_INDEX_FROM_START_TOOLTIP:"%1是第一個項目。",LISTS_INDEX_OF_FIRST:"找出第一個項出現",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"找出最後一個項出現",LISTS_INDEX_OF_TOOLTIP:"返回在列表中的第一/最後一個匹配項的索引值。如果找不到項目則返回0",LISTS_INLIST:"在列表中",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1是空的",LISTS_ISEMPTY_TOOLTIP:"如果改列表為空,則返回真。",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"%1的長度",LISTS_LENGTH_TOOLTIP:"返回列表的長度。",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"建立列表 項 %1 重復 %2 次",LISTS_REPEAT_TOOLTIP:"建立包含指定重復次數的值的列表。",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"為",LISTS_SET_INDEX_INSERT:"插入在",LISTS_SET_INDEX_SET:"設置",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"在列表的起始處添加該項。",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:"插入在列表中指定位置的項。",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"將該項追加到列表的末尾。",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"在列表中隨機插入項。",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"設置列表中的第一個項目。",LISTS_SET_INDEX_TOOLTIP_SET_FROM:"設置在列表中指定位置的項。",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"設置列表中的最後一項。",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"設置列表中一個隨機的項目。",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"升序",LISTS_SORT_ORDER_DESCENDING:"降序",LISTS_SORT_TITLE:"排序%1 %2 %3",LISTS_SORT_TOOLTIP:"排序一個列表的拷貝。",LISTS_SORT_TYPE_IGNORECASE:"按字母排序,忽略大小寫",LISTS_SORT_TYPE_NUMERIC:"按數字排序",LISTS_SORT_TYPE_TEXT:"按字母排序",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"從文本制作列表",LISTS_SPLIT_TEXT_FROM_LIST:"從列表組合文本",LISTS_SPLIT_TOOLTIP_JOIN:"加入文本列表至一個文本,由分隔符分隔。",LISTS_SPLIT_TOOLTIP_SPLIT:"拆分文本到文本列表,按每個分隔符拆分。",LISTS_SPLIT_WITH_DELIMITER:"用分隔符",LOGIC_BOOLEAN_FALSE:"假",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"返回真或假。",LOGIC_BOOLEAN_TRUE:"真",LOGIC_COMPARE_HELPURL:"https://zh.wikipedia.org/wiki/不等",LOGIC_COMPARE_TOOLTIP_EQ:"如果兩個輸入結果相等,則返回真。",LOGIC_COMPARE_TOOLTIP_GT:"如果第一個輸入結果比第二個大,則返回真。",LOGIC_COMPARE_TOOLTIP_GTE:"如果第一個輸入結果大於或等於第二個輸入結果,則返回真。",LOGIC_COMPARE_TOOLTIP_LT:"如果第一個輸入結果比第二個小,則返回真。",LOGIC_COMPARE_TOOLTIP_LTE:"如果第一個輸入結果小於或等於第二個輸入結果,則返回真。",LOGIC_COMPARE_TOOLTIP_NEQ:"如果兩個輸入結果不相等,則返回真。",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"非%1",LOGIC_NEGATE_TOOLTIP:"如果輸入結果為假,則返回真;如果輸入結果為真,則返回假。",LOGIC_NULL:"空",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"返回空值。",LOGIC_OPERATION_AND:"和",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"或",LOGIC_OPERATION_TOOLTIP_AND:"如果兩個輸入結果都為真,則返回真。",LOGIC_OPERATION_TOOLTIP_OR:"如果至少有一個輸入結果為真,則返回真。",LOGIC_TERNARY_CONDITION:"測試",LOGIC_TERNARY_HELPURL:"https://zh.wikipedia.org/wiki/條件運算符",LOGIC_TERNARY_IF_FALSE:"如果為假",LOGIC_TERNARY_IF_TRUE:"如果為真",LOGIC_TERNARY_TOOLTIP:"檢查“test”中的條件。如果條件為真,則返回“if true”的值,否則,則返回“if false”的值。",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://zh.wikipedia.org/wiki/算術",MATH_ARITHMETIC_TOOLTIP_ADD:"返回兩個數字的和。",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"返回兩個數字的商。",MATH_ARITHMETIC_TOOLTIP_MINUS:"返回兩個數字的區別。",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"返回兩個數字的乘積。",MATH_ARITHMETIC_TOOLTIP_POWER:"返回第一個數的第二個數次冪。",MATH_CHANGE_HELPURL:"https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%B3%95",MATH_CHANGE_TITLE:"將變量 %1 的值增加 %2",MATH_CHANGE_TOOLTIP:"將一個數添加到變量“%1”。",MATH_CONSTANT_HELPURL:"https://zh.wikipedia.org/wiki/數學常數",MATH_CONSTANT_TOOLTIP:"返回一個常見常量:π (3.141......),e (2.718...)、φ (1.618...)、 sqrt(2) (1.414......)、sqrt(½) (0.707......)或 ∞(無窮大)。",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"限制數字 %1 介於 (低) %2 到 (高) %3",MATH_CONSTRAIN_TOOLTIP:"限制數字介於兩個指定的數字之間",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"強制轉換數據類型",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"%1 ÷ %2 商的整數部分",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"可被整除",MATH_IS_EVEN:"是偶數",MATH_IS_NEGATIVE:"為負",MATH_IS_ODD:"是奇數",MATH_IS_POSITIVE:"為正",MATH_IS_PRIME:"是質數",MATH_IS_TOOLTIP:"如果數字是偶數、奇數、非負整數、正數、負數或如果它可被某數字整除,則返回真或假。",MATH_IS_WHOLE:"為整數",MATH_MODULO_HELPURL:"https://zh.wikipedia.org/wiki/模除",MATH_MODULO_TITLE:"%1 ÷ %2 的余數",MATH_MODULO_TOOLTIP:"返回這兩個數字相除後的余數。",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"對數字進行位運算",MATH_NUMBER_HELPURL:"https://zh.wikipedia.org/wiki/數",MATH_NUMBER_TOOLTIP:"一個數字。",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"列表中的平均數",MATH_ONLIST_OPERATOR_MAX:"列表中的最大值",MATH_ONLIST_OPERATOR_MEDIAN:"列表中位數",MATH_ONLIST_OPERATOR_MIN:"列表中的最小值",MATH_ONLIST_OPERATOR_MODE:"列表模式",MATH_ONLIST_OPERATOR_RANDOM:"列表的隨機項",MATH_ONLIST_OPERATOR_STD_DEV:"列表中的標準差",MATH_ONLIST_OPERATOR_SUM:"列表中的數的總和",MATH_ONLIST_TOOLTIP_AVERAGE:"返回列表中的數值的平均值。",MATH_ONLIST_TOOLTIP_MAX:"返回列表中最大數。",MATH_ONLIST_TOOLTIP_MEDIAN:"返回列表中的中位數。",MATH_ONLIST_TOOLTIP_MIN:"返回列表中最小數。",MATH_ONLIST_TOOLTIP_MODE:"返回列表中的最常見的項的列表。",MATH_ONLIST_TOOLTIP_RANDOM:"從列表中返回一個隨機的元素。",MATH_ONLIST_TOOLTIP_STD_DEV:"返回列表的標準偏差。",MATH_ONLIST_TOOLTIP_SUM:"返回列表中的所有數字的和。",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://zh.wikipedia.org/wiki/隨機數生成器",MATH_RANDOM_FLOAT_TITLE_RANDOM:"隨機小數",MATH_RANDOM_FLOAT_TOOLTIP:"返回介於(包含)0.0到1.0之間的隨機數。",MATH_RANDOM_INT_HELPURL:"https://zh.wikipedia.org/wiki/隨機數生成器",MATH_RANDOM_INT_TITLE:"從 %1 到 %2 之間的隨機整數",MATH_RANDOM_INT_TOOLTIP:"返回兩個指定的範圍(含)之間的隨機整數。",MATH_ROUND_HELPURL:"https://zh.wikipedia.org/wiki/數值修約",MATH_ROUND_OPERATOR_ROUND:"四舍五入",MATH_ROUND_OPERATOR_ROUNDDOWN:"向下舍入",MATH_ROUND_OPERATOR_ROUNDUP:"向上舍入",MATH_ROUND_TOOLTIP:"數字向上或向下舍入。",MATH_SINGLE_HELPURL:"https://zh.wikipedia.org/wiki/平方根",MATH_SINGLE_OP_ABSOLUTE:"絕對",MATH_SINGLE_OP_ROOT:"平方根",MATH_SINGLE_TOOLTIP_ABS:"返回一個數的絕對值。",MATH_SINGLE_TOOLTIP_EXP:"返回數的e次冪。",MATH_SINGLE_TOOLTIP_LN:"返回一個數的自然對數。",MATH_SINGLE_TOOLTIP_LOG10:"返回數字的對數。",MATH_SINGLE_TOOLTIP_NEG:"返回數的邏輯非。",MATH_SINGLE_TOOLTIP_POW10:"返回數的10次冪。",MATH_SINGLE_TOOLTIP_ROOT:"返回數的平方根。",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://zh.wikipedia.org/wiki/三角函數",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"返回一個數的反余弦值。",MATH_TRIG_TOOLTIP_ASIN:"返回一個數的反正弦值。",MATH_TRIG_TOOLTIP_ATAN:"返回指定角度的反正切值。",MATH_TRIG_TOOLTIP_COS:"返回指定角度的余弦值(非弧度)。",MATH_TRIG_TOOLTIP_SIN:"返回指定角度的正弦值(非弧度)。",MATH_TRIG_TOOLTIP_TAN:"返回指定角度的正切值(非弧度)。",NEW_VARIABLE:"創建變量...",NEW_VARIABLE_TITLE:"新變量的名稱:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"允許聲明",PROCEDURES_BEFORE_PARAMS:"參數:",PROCEDURES_CALLNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLNORETURN_TOOLTIP:"運行用戶定義的函數“%1”。",PROCEDURES_CALLRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLRETURN_TOOLTIP:"運行用戶定義的函數“%1”,並使用它的輸出值。",PROCEDURES_CALL_BEFORE_PARAMS:"與:",PROCEDURES_CREATE_DO:"創建“%1”",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"定義函數",PROCEDURES_DEFNORETURN_TOOLTIP:"創建一個不帶輸出值的函數。",PROCEDURES_DEFRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFRETURN_RETURN:"返回",PROCEDURES_DEFRETURN_TOOLTIP:"創建一個有輸出值的函數。",PROCEDURES_DEF_DUPLICATE_WARNING:"警告: 此函數具有重復參數。",PROCEDURES_HIGHLIGHT_DEF:"突出顯示函數定義",PROCEDURES_IFRETURN_HELPURL:"http://c2.com/cgi/wiki?GuardClause",PROCEDURES_IFRETURN_TOOLTIP:"如果值為真,則返回第二個值。",PROCEDURES_IFRETURN_WARNING:"警告: 僅在定義函數內可使用此塊。",PROCEDURES_MUTATORARG_TITLE:"輸入名稱:",PROCEDURES_MUTATORARG_TOOLTIP:"添加函數輸入。",PROCEDURES_MUTATORCONTAINER_TITLE:"輸入",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"添加、刪除或重新排此函數的輸入。",REDO:"重做",REMOVE_COMMENT:"刪除註釋",RENAME_VARIABLE:"重命名變量...",RENAME_VARIABLE_TITLE:"將所有“%1”變量重命名為:",TEXT_APPEND_APPENDTEXT:"追加文本",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"",TEXT_APPEND_TOOLTIP:"將一些文本追加到變量“%1”。",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"轉為小寫",TEXT_CHANGECASE_OPERATOR_TITLECASE:"轉為首字母大寫",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"轉為大寫",TEXT_CHANGECASE_TOOLTIP:"使用不同的大小寫復制這段文字。",TEXT_CHARAT_FIRST:"獲得第一個字符",TEXT_CHARAT_FROM_END:"獲得倒數第#個字符",TEXT_CHARAT_FROM_START:"獲得字符#",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"從文本",TEXT_CHARAT_LAST:"獲得最後一個字符",TEXT_CHARAT_RANDOM:"獲取隨機的字母",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"返回位於指定位置的字母。",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"將一個項添加到文本中。",TEXT_CREATE_JOIN_TITLE_JOIN:"加入",TEXT_CREATE_JOIN_TOOLTIP:"添加、移除或重新排列各節來重新配置這個文本塊。",TEXT_GET_SUBSTRING_END_FROM_END:"到倒數第#個字符",TEXT_GET_SUBSTRING_END_FROM_START:"到字符#",TEXT_GET_SUBSTRING_END_LAST:"到最後一個字符",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"從文本",TEXT_GET_SUBSTRING_START_FIRST:"取得一段字串自第一個字符",TEXT_GET_SUBSTRING_START_FROM_END:"取得一段字串自倒數第#個字符",TEXT_GET_SUBSTRING_START_FROM_START:"取得一段字串自#",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"返回指定的部分文本。",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"在文本",TEXT_INDEXOF_OPERATOR_FIRST:"中查找 最先 出現",TEXT_INDEXOF_OPERATOR_LAST:"中查找 最後 出現",TEXT_INDEXOF_TAIL:"的位置",TEXT_INDEXOF_TOOLTIP:"返回在第二個字串中的第一/最後一個匹配項的索引值。如果未找到則返回%1。",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1是空的",TEXT_ISEMPTY_TOOLTIP:"如果提供的文本為空,則返回真。",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"轉為文本",TEXT_JOIN_TOOLTIP:"通過串起任意數量的項以建立一段文字。",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"%1的長度",TEXT_LENGTH_TOOLTIP:"返回提供文本的字母數(包括空格)。",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"打印%1",MPYTHON_INPUT_MESSAGE0:"輸入%1",TEXT_PRINT_TOOLTIP:"打印指定的文字、數字或其他值。",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"提示用戶輸入數字。",TEXT_PROMPT_TOOLTIP_TEXT:"提示用戶輸入一些文本。",TEXT_PROMPT_TYPE_NUMBER:"輸入數字並顯示提示消息",TEXT_PROMPT_TYPE_TEXT:"輸入數字並顯示提示消息",TEXT_TEXT_HELPURL:"https://zh.wikipedia.org/wiki/字符串",TEXT_TEXT_TOOLTIP:"一個字母、單詞或一行文本。",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"消除兩側空格",TEXT_TRIM_OPERATOR_LEFT:"消除左側空格",TEXT_TRIM_OPERATOR_RIGHT:"消除右側空格",TEXT_TRIM_TOOLTIP:"復制這段文字的同時刪除兩端多余的空格。",TODAY:"今天",UNDO:"撤銷",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"創建“設定%1”",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"返回此變量的值。",VARIABLES_SET:"將變量 %1 設定為 %2",VARIABLES_SET_CREATE_GET:"創建“獲得%1”",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"設置此變量,以使它和輸入值相等。",VARIABLE_ALREADY_EXISTS:"已存在名為“%1”的變量。"};VF.PROCEDURES_DEFRETURN_TITLE=VF.PROCEDURES_DEFNORETURN_TITLE,VF.CONTROLS_IF_IF_TITLE_IF=VF.CONTROLS_IF_MSG_IF,VF.CONTROLS_WHILEUNTIL_INPUT_DO=VF.CONTROLS_REPEAT_INPUT_DO,VF.CONTROLS_IF_MSG_THEN=VF.CONTROLS_REPEAT_INPUT_DO,VF.TRY_EXCEPT_TRY="try",VF.CONTROLS_IF_ELSE_TITLE_ELSE=VF.CONTROLS_IF_MSG_ELSE,VF.CONTROLS_IF_ELSE_TITLE_ELSE=VF.CONTROLS_IF_MSG_ELSE,VF.PROCEDURES_DEFRETURN_PROCEDURE=VF.PROCEDURES_DEFNORETURN_PROCEDURE,VF.LISTS_GET_SUBLIST_INPUT_IN_LIST=VF.LISTS_INLIST,VF.LISTS_GET_INDEX_INPUT_IN_LIST=VF.LISTS_INLIST,VF.PROCEDURES_DEFRETURN_DO=VF.PROCEDURES_DEFNORETURN_DO,VF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=VF.CONTROLS_IF_MSG_ELSEIF,VF.LISTS_GET_INDEX_HELPURL=VF.LISTS_INDEX_OF_HELPURL,VF.CONTROLS_FOREACH_INPUT_DO=VF.CONTROLS_REPEAT_INPUT_DO,VF.LISTS_SET_INDEX_INPUT_IN_LIST=VF.LISTS_INLIST,VF.CONTROLS_FOR_INPUT_DO=VF.CONTROLS_REPEAT_INPUT_DO,VF.LISTS_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.TUPLE_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.DICT_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.SET_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.TEXT_APPEND_VARIABLE=VF.VARIABLES_DEFAULT_NAME,VF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=VF.VARIABLES_DEFAULT_NAME,VF.MATH_CHANGE_TITLE_ITEM=VF.VARIABLES_DEFAULT_NAME,VF.LISTS_INDEX_OF_INPUT_IN_LIST=VF.LISTS_INLIST,VF.PROCEDURES_DEFRETURN_COMMENT=VF.PROCEDURES_DEFNORETURN_COMMENT,VF.MPYTHON_MAIN_HELPURL="",VF.MPYTHON_MAIN_TOOLTIP="這個圖形塊不是必須使用。但使用這個圖形塊,能使得程序結構更規整。",VF.MPYTHON_MAIN_MESSAGE0="主程式",VF.MPYTHON_OPEN="開啟",VF.MPYTHON_CLOSE="關閉",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",VF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",VF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",VF.MPYTHON_AI_SENSOR_ENABLE_START="開始抓取圖像",VF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取圖像",VF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平鏡像",VF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻轉",VF.MPYTHON_AI_SENSOR_SETS_CONTRAST="對比度",VF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",VF.MPYTHON_AI_SENSOR_SETS_SATURATION="飽和度",VF.MPYTHON_AI2_FACE_YOLO="人臉識別",VF.MPYTHON_AI2_CLASS_20_YOLO="20類識別",VF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",VF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",VF.TEXT_APPEND_TEXT_HELPURL="",VF.TEXT_APPEND_TEXT_TOOLTIP="",VF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",VF.CHINA_CITY_MESSAGE0="%1 %2",VF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",VF.CHINA_CITY_CNNAME="中文簡稱",VF.CHINA_CITY_PINYIN="拼音",VF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",VF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",VF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",VF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",VF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天氣] %1 信息 %2 地理位置 %3 API私鑰 %4 %5 語言 %6 %7 溫度單位 %8",VF.MPYTHON_SENIVERSE_WEATHER_API_1="天氣實況",VF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天氣預報",VF.MPYTHON_SENIVERSE_WEATHER_API_3="6項生活指數",VF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="攝氏度",VF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="華氏度",VF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",VF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",VF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="設定 %1 為 %2",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天氣] 通用字段 %2",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天氣] 天氣實況 %2",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="風向角度,範圍0~360\n風速,單位km/h(當unit=c時)、mph(當unit=f時)",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天氣] 3天天氣預報 %2 的 %3",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天氣] 6項生活指數 %2",VF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名稱",VF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",VF.MPYTHON_SENIVERSE_WEATHER_country="國家代碼",VF.MPYTHON_SENIVERSE_WEATHER_path="行政歸屬",VF.MPYTHON_SENIVERSE_WEATHER_timezone="時區",VF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",VF.MPYTHON_SENIVERSE_WEATHER_last_update_date="數據更新日期",VF.MPYTHON_SENIVERSE_WEATHER_last_update="數據更新時間",VF.MPYTHON_SENIVERSE_WEATHER_object="原始字典對象",VF.MPYTHON_SENIVERSE_WEATHER_text="天氣現象",VF.MPYTHON_SENIVERSE_WEATHER_code="天氣現象代碼",VF.MPYTHON_SENIVERSE_WEATHER_temperature="溫度",VF.MPYTHON_SENIVERSE_WEATHER_today="今天",VF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",VF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="後天",VF.MPYTHON_SENIVERSE_WEATHER_date="日期",VF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天氣現象",VF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天氣現象代碼",VF.MPYTHON_SENIVERSE_WEATHER_text_night="晚間天氣現象",VF.MPYTHON_SENIVERSE_WEATHER_code_night="晚間天氣現象代碼",VF.MPYTHON_SENIVERSE_WEATHER_high="當天最高溫度",VF.MPYTHON_SENIVERSE_WEATHER_low="當天最低溫度",VF.MPYTHON_SENIVERSE_WEATHER_wind_direction="風向",VF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="風向角度",VF.MPYTHON_SENIVERSE_WEATHER_wind_speed="風速",VF.MPYTHON_SENIVERSE_WEATHER_wind_scale="風力等級",VF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗車指數",VF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指數",VF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指數",VF.MPYTHON_SENIVERSE_WEATHER_sport="運動指數",VF.MPYTHON_SENIVERSE_WEATHER_travel="旅遊指數",VF.MPYTHON_SENIVERSE_WEATHER_uv="紫外線指數",VF.MPYTHON_RED="紅",VF.MPYTHON_GREEN="綠",VF.MPYTHON_BLUE="藍",VF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射頻卡 讀取電子錢包 數據",VF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="讀取塊數據,長度16位元組",VF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射頻卡 寫入電子錢包 數據%1",VF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="寫入塊數據,長度16位元組",VF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射頻卡 給電子錢包%1 金額%2",VF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",VF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣費",VF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射頻卡 獲取電子錢包餘額",VF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射頻卡 獲取序號",VF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射頻卡 初始化電子錢包",VF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射頻卡 掃描",VF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超聲波",VF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",VF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被觸發 引腳%2",VF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",VF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模擬值 引腳%2",VF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",VF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="設置LED燈 輸出%1 引腳%2",VF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循跡傳感器 檢測為黑 引腳%1",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打開 %1 引腳 %2",VF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="關閉 %1 引腳 %2",VF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",VF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",VF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 %2 REC %3 PLAY %4",VF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 %1 REC %2 PLAY %3",VF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",VF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="錄音",VF.MPYTHON_BLUEBIT_IR_RECEIVE="紅外探測",VF.MPYTHON_BLUEBIT_SOUND="麥克風",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循跡",VF.MPYTHON_BLUEBIT_VIBRATION="震動",VF.MPYTHON_BLUEBIT_RFID="射頻卡",VF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指紋",VF.MPYTHON_BLUEBIT_PIR="人體感應",VF.MPYTHON_BLUEBIT_MAGNETIC="門磁開關",VF.MPYTHON_BLUEBIT_BUTTON="按鍵",VF.MPYTHON_BLUEBIT_RELAY="繼電器",VF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位開關",VF.MPYTHON_BLUEBIT_FAN="風扇",VF.MPYTHON_BLUEBIT_LASER="激光",VF.MPYTHON_BLUEBIT_NTC_TEMP="熱敏電阻",VF.MPYTHON_BLUEBIT_WATER="水位",VF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤濕度",VF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋鈕電位器",VF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑電位器",VF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模擬光線",VF.MPYTHON_BLUEBIT_LM35_TEMP="LM35溫度",VF.MPYTHON_BLUEBIT_SMOKE="煙霧",VF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正轉",VF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反轉",VF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",VF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤濕度",VF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤濕度(新)%1",VF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",VF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",VF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",VF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",VF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打開風扇 %1",VF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",VF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 關閉風扇 %1",VF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",VF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",VF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",VF.BLUE="A",VF.GREEN="B",VF.RED="C",VF.YELLOW="D",VF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",VF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",VF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",VF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",VF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打開直流電機 %1 %2 速度 %3",VF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",VF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 關閉直流電機",VF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",VF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="編碼電機 模式 %1 撥碼 %2 M1速度 %3 M2速度 %4",VF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止編碼電機轉動",VF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止編碼電機轉動 %1",VF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",VF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",VF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",VF.MPYTHON_BLUEBIT_TEMPERATURE="溫度",VF.MPYTHON_BLUEBIT_HUMIDITY="濕度",VF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",VF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",VF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",VF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",VF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="設MIDI音量 %1",VF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",VF.MIDI_PIANO="平臺鋼琴",VF.MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",VF.MIDI_ELECTRICGRANDPIANO="電鋼琴",VF.MIDI_HARPSICHORD="大鍵琴",VF.MIDI_CELESTA="鋼片琴",VF.MIDI_GLOCKENSPIEL="鍾琴",VF.MIDI_MUSICALBOX="音樂盒",VF.MIDI_MARIMBA="馬林巴琴",VF.MIDI_XYLOPHONE="木琴",VF.MIDI_TUBULARBELL="管鐘",VF.MIDI_DULCIMER="洋琴",VF.MIDI_VIBRAPHONE="顫音琴",VF.MIDI_ORGAN="音栓風琴",VF.MIDI_ACOUSTIC_GUITAR="木吉他",VF.MIDI_ELECTRIC_GUITAR="電吉他",VF.MIDI_ACOUSTIC_BASS="民謠貝斯",VF.MIDI_STRING_ENSEMBLE="弦樂合奏",VF.MIDI_VIOLIN="小提琴",VF.MIDI_TRUMPET="小號",VF.MIDI_SAX="薩克斯",VF.MIDI_STEEL_DRUMS="鋼鼓",VF.MIDI_LEAD="合成音主旋律",VF.MIDI_PAD="合成音襯底",VF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",VF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="設MIDI樂器 %1",VF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",VF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",VF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音調 %2",VF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",VF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="設點陣亮度等級 %1",VF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",VF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="點陣 %1",VF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",VF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0="設置點陣 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",VF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",VF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="點陣設置生效",VF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",VF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="設MP3音量 %1",VF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",VF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",VF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚連接音樂模塊的 RXI 引脚",VF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",VF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",VF.MPYTHON_PLUS_1="加1",VF.MPYTHON_MINUS_1="減1",VF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",VF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",VF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",VF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",VF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="Mp3 單曲循環 %1",VF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",VF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",VF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="設擴展端口 IO %2 為 %1",VF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",VF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",VF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="擴展端口值 IO %1",VF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",VF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",VF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="設擴展端口 IO %2 為 %1",VF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",VF.MPYTHON_LCD_OBJECT_HELPURL="",VF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",VF.MPYTHON_LCD_OBJECT_TOOLTIP="",VF.MPYTHON_LCD_PRINT_HELPURL="",VF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 顯示 %1",VF.MPYTHON_LCD_PRINT_TOOLTIP="",VF.MPYTHON_LCD_HOME_HELPURL="",VF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光標 回到原點",VF.MPYTHON_LCD_HOME_TOOLTIP="",VF.MPYTHON_LCD_CURSOR_HELPURL="",VF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光標 %1",VF.MPYTHON_LCD_CURSOR_TOOLTIP="",VF.MPYTHON_LCD_SET_CURSOR_HELPURL="",VF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始點 行 %2 列 %1",VF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列從0開始計數",VF.MPYTHON_LCD_CLEAR_HELPURL="",VF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",VF.MPYTHON_LCD_CLEAR_TOOLTIP="",VF.MPYTHON_LCD_CURSOR_BLINK="閃爍",VF.MPYTHON_LCD_CURSOR_NO_BLINK="不閃爍",VF.MPYTHON_RIGHT_TO_LEFT="從右向左",VF.MPYTHON_LEFT_TO_RIGHT="從左向右",VF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",VF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",VF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",VF.MPYTHON_LCD_MOVE_HELPURL="",VF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滾動一格",VF.MPYTHON_LCD_MOVE_TOOLTIP="",VF.MPYTHON_IR_TRANS_HELPURL="",VF.MPYTHON_IR_TRANS_MESSAGE0="紅外發送 單字節字符串 %1 tx 引脚 %2",VF.MPYTHON_IR_TRANS_TOOLTIP="\n單字節字符串:\n'A', 'b', '1'等\n",VF.OUTPUT_PIN_HELPURL="",VF.OUTPUT_PIN_MESSAGE0="%1",VF.OUTPUT_PIN_TOOLTIP="",VF.INPUT_PIN_HELPURL="",VF.INPUT_PIN_MESSAGE0="%1",VF.INPUT_PIN_TOOLTIP="",VF.READ_ANALOG_PIN_HELPURL="",VF.READ_ANALOG_PIN_MESSAGE0="%1",VF.READ_ANALOG_PIN_TOOLTIP="",VF.SET_DIGITAL_HELPURL="",VF.SET_DIGITAL_MESSAGE0="%1",VF.SET_DIGITAL_TOOLTIP="",VF.SET_ANALOG_HELPURL="",VF.SET_ANALOG_MESSAGE0="%1",VF.SET_ANALOG_TOOLTIP="",VF.ALL_PIN_HELPURL="",VF.ALL_PIN_MESSAGE0="%1",VF.ALL_PIN_TOOLTIP="",VF.PWM_PIN_HELPURL="",VF.PWM_PIN_MESSAGE0="%1",VF.PWM_PIN_TOOLTIP="",VF.DH11_HUM_TEM_PIN_HELPURL="",VF.DH11_HUM_TEM_PIN_MESSAGE0="%1",VF.DH11_HUM_TEM_PIN_TOOLTIP="",VF.UART_TX_PIN_HELPURL="",VF.UART_TX_PIN_MESSAGE0="%1",VF.UART_TX_PIN_TOOLTIP="",VF.UART_RX_PIN_HELPURL="",VF.UART_RX_PIN_MESSAGE0="%1",VF.UART_RX_PIN_TOOLTIP="",VF.I2C_PIN_HELPURL="",VF.I2C_PIN_MESSAGE0="%1",VF.I2C_PIN_TOOLTIP="",VF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",VF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",VF.MQTT_COMMON_SETUP_TOOLTIP="",VF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",VF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",VF.MQTT_TENCENT_SETUP_TOOLTIP="",VF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",VF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",VF.MQTT_TENCENT_SETUPS_TOOLTIP="",VF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服務器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",VF.MQTT_SETUP_TOOLTIP="",VF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_CONNECT_MESSAGE0="連接 MQTT",VF.MQTT_CONNECT_TOOLTIP="",VF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_PUBLISH_MESSAGE0="發佈 %1 至 主題 %2",VF.MQTT_PUBLISH_TOOLTIP="",VF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_REC_FROM_TOPIC_MESSAGE0="當從主題 %1 接收到 %2 時",VF.MQTT_REC_FROM_TOPIC_TOOLTIP="",VF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_RECEIVE_MESSAGE0="當從主題 %1 接收到 %2 時",VF.MQTT_RECEIVE_TOOLTIP='參數"主題"只接受變量',VF.MQTT_RECEIVED_MESSAGE0="當從主題 %1 接收到消息 時",VF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_MESSAGE_MESSAGE0="從 MQTT 收到的消息",VF.MQTT_MESSAGE_TOOLTIP="",VF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_WAIT_MSG_MESSAGE0="等待主題消息 以 %1 模式",VF.MQTT_WAIT_MSG_TOOLTIP="建議放在'一直重複'中運行",VF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_DISCONNECT_MESSAGE0="MQTT 斷開連接",VF.MQTT_DISCONNECT_TOOLTIP="",VF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",VF.MQTT_LAST_WILL_MESSAGE0="設置 MQTT 主題 %2 離綫消息 %1",VF.MQTT_LAST_WILL_TOOLTIP="設置 MQTT last will 消息。應該在 connect() 之前調用。",VF.MPYTHON_SIOT_CONNECT_HELPURL="",VF.MPYTHON_SIOT_CONNECT_TOOLTIP="",VF.MPYTHON_SIOT_CONNECT_MESSAGE0="創建 SIoT 連接 %1 客戶端ID %2 服務器 %3 用戶 %4 密碼 %5",VF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",VF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",VF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 連接成功 ?",VF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",VF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",VF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 訂閱主題",VF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="點擊左邊星號 訂閱 SIoT 主題",VF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 訂閱 主題1",VF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主題",VF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",VF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多訂閱 5 個主題",VF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",VF.MPYTHON_SIOT_DISCONNECT_HELPURL="",VF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",VF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 斷開連接",VF.MPYTHON_SIOT_MESSAGE_HELPURL="",VF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",VF.MPYTHON_SIOT_MESSAGE_MESSAGE0="從 SIoT 收到的消息",VF.MPYTHON_SIOT_TOPIC1="主題1",VF.MPYTHON_SIOT_TOPIC2="主題2",VF.MPYTHON_SIOT_TOPIC3="主題3",VF.MPYTHON_SIOT_TOPIC4="主題4",VF.MPYTHON_SIOT_TOPIC5="主題5",VF.MPYTHON_SIOT_PUBLISH_HELPURL="",VF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",VF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 發送消息 %1 到 %2",VF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 發送消息 %1 到 主題 %2",VF.MPYTHON_SIOT_RECEIVE_HELPURL="",VF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",VF.MPYTHON_SIOT_RECEIVE_MESSAGE0="當從 SIoT %1 收到消息時 %2 執行 %3",VF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="當從 SIoT 主題 %1 收到消息時 %2 執行 %3",VF.MPYTHON_IR_RECV_HELPURL="",VF.MPYTHON_IR_RECV_MESSAGE0="紅外接收 整型 rx 引脚 %1",VF.MPYTHON_IR_RECV_TOOLTIP="第一次接收總爲空",VF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 顯示 %1 x %2 y %3",VF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",VF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",VF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",VF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",VF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",VF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 顯示圖像 x %1 y %2 寬 %3 高 %4 16進制圖像數據 %5",VF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",VF.mpython_bme280_hum_tem_pre_MESSAGE0="气象 %1",VF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",VF.mpythonbox_sound_MESSAGE0="聲音值",VF.mpythonbox_sound_TOOLTIP="採樣數據,为0~4095。",VF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",VF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",VF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",VF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆電阻採樣值。範圍0~4095。",VF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",VF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按鍵%1",VF.MPYTHONBOX_5BUTTON_TOOLTIP="",VF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",VF.MPYTHONBOX_MOTOR_MESSAGE0="馬達 速度%1",VF.MPYTHONBOX_MOTOR_TOOLTIP="馬達速度,範圍±100。正值表示正轉,負值則反。",VF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",VF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超聲波",VF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超聲波測距,獲取超聲波感測器測距值,組織cm。範圍3~340CM",VF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",VF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人體紅外",VF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人體紅外觸發值。當為1時,表示已觸發;當為0時,表示未觸發。",VF.MPYTHONBOX_RGB_pixel_HELPURL="",VF.MPYTHONBOX_RGB_pixel_MESSAGE0="設定第 %1列 %2行 R%3 G%4 B%5",VF.MPYTHONBOX_RGB_pixel_TOOLTIP="設定第多少列,行的RGB顏色",VF.MPYTHONBOX_RGB_get_pixel_HELPURL="",VF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",VF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB顏色",VF.MPYTHONBOX_RGB_ImageText_HELPURL="",VF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滾動顯示文本%1 速度%2",VF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滾動顯示文字,亮度為0不亮,9最亮",VF.MPYTHONBOX_RGB_SetImage_HELPURL="",VF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",VF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建圖像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",VF.MPYTHONBOX_RGB_Image_HELPURL="",VF.MPYTHONBOX_RGB_Image_MESSAGE0="顯示影像%1",VF.MPYTHONBOX_RGB_Image_TOOLTIP="顯示影像",VF.MPYTHONBOX_RGB_SetImage_HELPURL="",VF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建影像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",VF.MPYTHONBOX_RGB_SetImage_TOOLTIP="創建新影像,每行每位數代表第幾比特燈,默認紅色;亮度為0不亮,9最亮。",VF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="顯示影像/文本 %1",VF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="顯示影像或文字消息。",VF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",VF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="顯示影像 %1",VF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="顯示影像。",VF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",VF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="複製影像 %1",VF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="複製影像。",VF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",VF.MPYTHONBOX_RGB_ImageCot_HELPURL="",VF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪影像%1 列%2 行%3 宽%4 高%5",VF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪影像",VF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="內寘影像 %1",VF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="選擇一個內寘的影像。",VF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移影像 %1 %2 %3 位",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移動影像,並返回移動後的結果。",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",VF.MPYTHONBOX_RGB_clear_HELPURL="",VF.MPYTHONBOX_RGB_clear_MESSAGE0="關閉所有 RGB 燈",VF.MPYTHONBOX_RGB_clear_TOOLTIP="",VF.MPYTHONBOX_RGB_pixel_return_HELPURL="",VF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 顏色",VF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",VF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1軸加速度",VF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",VF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1軸角速度",VF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",VF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1歐拉角",VF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回當前歐拉角(Pitch,Roll,Yaw),單位角度",VF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元數",VF.MPYTHONBOX_QUATERNION_TOOLTIP="返回當前四元數(w,x,y,z)",VF.MPYTHONBOX_CAMERA_LED_HELPURL="",VF.MPYTHONBOX_CAMERA_LED_MESSAGE0="攝像燈%1",VF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led燈,分為打開和關閉兩種狀態",VF.LIST_FIRST_INDEX_HELPURL="",VF.LIST_FIRST_INDEX_MESSAGE0="項 %1 在列表 %2 %3 出現的位置",VF.LIST_FIRST_INDEX_TOOLTIP="",VF.MPYTHON_AI_LCD_INIT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",VF.MPYTHON_AI_LCD_INIT_MESSAGE0="螢幕 初始化 ",VF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 螢幕顯示",VF.MPYTHON_AI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",VF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="監視器 初始化",VF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化單目監視器",VF.MPYTHON_AI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="監視器%1",VF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取影像",VF.MPYTHON_AI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",VF.MPYTHON_AI_LCD_TEXT_MESSAGE0="顯示文字 x %1 y %2 内容 %3",VF.MPYTHON_AI_LCD_TEXT_TOOLTIP="僅支持字母和數位",VF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",VF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="監視器 跳過幀數%1 毫秒%2内的影像",VF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="監視器跳過指定幀數或者跳過指定時間內的影像",VF.MPYTHON_AI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",VF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 監視器 获取%1",VF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)監視器返回参数(宽高,图像帧的格式,图像帧的大小)",VF.MPYTHON_AI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",VF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="監視器 设置%1 为%2",VF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置監視器对比度,亮度,饱和度范围为[-2,+2]",VF.MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",VF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="監視器 自動增益%1",VF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1開啟監視器自動增益0關閉監視器自動增益",VF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",VF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="監視器 白平衡%1",VF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="設定攝像自動白平衡模式,默認打開。True為打開,False為關閉自動白平衡。若您想追跡顏色,則需關閉白平衡。",VF.MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",VF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="監視器 %1 %2",VF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1表示開啟水准鏡像 0表示關閉水准鏡像",VF.MPYTHON_AI_LCD_DISPLAY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",VF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 顯示生效",VF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上顯示",VF.MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",VF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 顯示生效 x%1 y%2 宽%3 高%4",VF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上顯示一張圖片",VF.MPYTHON_AI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="監視器 獲取影像",VF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制監視器捕捉影像",VF.MPYTHON_AI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人臉識別",VF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",VF.MPYTHON_AI_LCD_SHOW_REC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",VF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在影像上繪製矩形",VF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在影像上繪製線條",VF.MPYTHON_AI_LCD_SHOW_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="螢幕 顯示清空",VF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="將液晶屏清空為黑色或者指定的顏色",VF.MPYTHON_AI_LCD_CLEAR_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 顏色",VF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某個座標點的顏色",VF.MPYTHON_AI_LCD_return_colour_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圓形%1 x%2 y%3 半径%4 顏色为 R%5 G%6 B%7 加粗%8",VF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在影像上繪製圓形",VF.MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_TEXT_MOST_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="顯示文字 x %1 y %2 内容 %3 顏色为R%4 G%5 B%6 字号%7",VF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="僅支持字母和數位",VF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字線 x%1 y%2 顏色为R%3 G%4 B%5 尺寸%6 加粗%7",VF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在影像上繪製十字線",VF.MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭頭 x1%1 y1%2 到x2%3 y2%4 顏色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在影像上繪製一個箭頭",VF.MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL=".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",VF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="顯示影像 路徑%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="顯示影像",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="圖像轉換為%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻轉是將二進位影像0(黑色)變為1(白色),1(白色)變為0(黑色),非常快速地翻轉二進位影像中的所有點數值。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="影像 從笛卡爾座標到%1 座標重新投影 反向%2",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",VF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",VF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="影像 膨胀 級別%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨脹就是對影像高亮部分進行“領域擴張”,效果圖擁有比原圖更大的高亮區域。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="影像 中点濾波 級別%1 滤波%2",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制影像混合的最小/最大程度。0只適用於最小濾波,1僅用於最大濾波。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="影像 众数濾波 級別%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在影像上運行眾數濾波,用相鄰點數的模式替換每個點數。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",VF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="影像 模糊滤波 级别%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式濾波器的標準平均值模糊濾波。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",VF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="影像 卡通化 級別%1 起始點數差异%2 相鄰點數差异%3",VF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",VF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",VF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="影像 3D旋轉 上下旋轉%1 左右旋轉%2 度数%3 左右移动%4 上下移动%5 缩放%6",VF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通過執行幀緩衝區的3D旋轉來糾正影像中的透視問題。",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="將影像的副本保存到SD卡 图像名%1 影像顯示區域 x%2 y%3 宽%4 高%5",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="將影像的副本保存到SD卡",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="創建一個影像對象的副本 複製影像區域 x%1 y%2 宽%3 高%4",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="創建一個影像對象的副本",VF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="手寫數位識別",VF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="手寫數位識別",VF.MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",VF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",VF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",VF.MPYTHON_AI_LCD_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",VF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",VF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",VF.MPYTHON_AI_SENSOR_PATTERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",VF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="監視器 初始化 點數模式 %1",VF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用於設定監視器點數模式,有黑白和rgb彩色",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="追跡色塊 顯示%1",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",VF.MPYTHON_AI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 人臉",VF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",VF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 人臉識別",VF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",VF.MPYTHON_AI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(實驗箱)獲取識別後人臉的 所有參數",VF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",VF.MPYTHON_AI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(實驗箱)獲取識別後人臉的 x座標",VF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",VF.MPYTHON_AI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(實驗箱)獲取識別後人臉的 y座標",VF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",VF.MPYTHON_AI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(實驗箱)獲取識別後人臉的 寬度",VF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",VF.MPYTHON_AI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(實驗箱)獲取識別後人臉的 高度",VF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",VF.MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(實驗箱)獲取識別後人臉的 置信度",VF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",VF.MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(實驗箱)獲取識別後人臉的 數量",VF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",VF.MPYTHON_AI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 20類",VF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 20類識別",VF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",VF.MPYTHON_AI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(實驗箱)獲取識別後20類的 所有參數",VF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",VF.MPYTHON_AI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(實驗箱)獲取識別後20類的 x座標",VF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",VF.MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(實驗箱)獲取識別後20類的 y座標",VF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",VF.MPYTHON_AI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(實驗箱)獲取識別後20類的 寬度",VF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",VF.MPYTHON_AI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(實驗箱)獲取識別後20類的 高度",VF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",VF.MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(實驗箱)獲取識別後20類的 置信度",VF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",VF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(實驗箱)獲取識別後20類的 數量",VF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",VF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(實驗箱)獲取識別後20類的 類型",VF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(實驗箱)獲取識別後20類的 類型數量",VF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",VF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(實驗箱)選擇訓練模型 手寫數字",VF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",VF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(實驗箱)調用攝像頭進行 手寫數字識別",VF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",VF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(實驗箱)獲取識別後手寫數字的 所有參數",VF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",VF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(實驗箱)獲取識別後手寫數字的 數字",VF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",VF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(實驗箱)獲取識別後手寫數字的 置信度",VF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",VF.MPYTHON_AI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",VF.MPYTHON_AI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",VF.MPYTHON_AI_IMAGE_LAB_TOOLTIP="image寻找颜色",VF.MPYTHON_AI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",VF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(實驗箱)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",VF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追蹤色塊",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(實驗箱)追蹤色塊 顯示%1",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",VF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(實驗箱)%1獲取識別後色塊的 所有參數",VF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 x座標",VF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 y座標",VF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_W_MESSAGE0="(實驗箱)%1獲取識別後色塊的 寬度",VF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_H_MESSAGE0="(實驗箱)%1獲取識別後色塊的 高度",VF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(實驗箱)%1獲取識別後色塊的 數量",VF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心x座標",VF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心y座標",VF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(實驗箱)%1獲取識別後色塊的 矩形",VF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 訓練 %1",VF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",VF.MPYTHON_DRILL_WEIGHT_HELPURL="",VF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",VF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="實例化 線性迴歸直線",VF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",VF.MPYTHON_DRILL_TITLE_HELPURL="",VF.MPYTHON_DRILL_TITLE_MESSAGE0="標題%1 字號%2",VF.MPYTHON_DRILL_TITLE_TOOLTIP="",VF.MPYTHON_DRILL_LABEL_HELPURL="",VF.MPYTHON_DRILL_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",VF.MPYTHON_DRILL_LABEL_TOOLTIP="",VF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",VF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真實數據 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",VF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",VF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",VF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="預測線性迴歸直線 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",VF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",VF.MPYTHON_DRILL_LEGEND_HELPURL="",VF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示圖例",VF.MPYTHON_DRILL_LEGEND_TOOLTIP="",VF.MPYTHON_DRILL_SHOW_HELPURL="",VF.MPYTHON_DRILL_SHOW_MESSAGE0="顯示圖片",VF.MPYTHON_DRILL_SHOW_TOOLTIP="",VF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",VF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="返回對應鍵值%1",VF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",VF.MPYTHON_DRILL_DRILL_full_line="實線",VF.MPYTHON_DRILL_DRILL_dash_line="破折線",VF.MPYTHON_DRILL_DRILL_chain_line="點劃線",VF.MPYTHON_DRILL_DRILL_imaginary_line="虛線",VF.MPYTHON_DRILL_DRILL_dot="點",VF.MPYTHON_DRILL_DRILL_pixel="像素",VF.MPYTHON_DRILL_DRILL_solid_rim="實心圈",VF.MPYTHON_DRILL_DRILL_down_triangle="下三角",VF.MPYTHON_DRILL_DRILL_up_triangle="上三角",VF.MPYTHON_DRILL_DRILL_right_triangle="右三角",VF.MPYTHON_DRILL_DRILL_left_triangle="左三角",VF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",VF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",VF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",VF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",VF.MPYTHON_DRILL_DRILL_solid_square="實心方形",VF.MPYTHON_DRILL_DRILL_solid_pentagon="實心五角",VF.MPYTHON_DRILL_DRILL_star="星形",VF.MPYTHON_DRILL_DRILL_vertical_hexagon="豎六邊形",VF.MPYTHON_DRILL_DRILL_across_hexagon="橫六邊形",VF.MPYTHON_DRILL_DRILL_cross="十字",VF.MPYTHON_DRILL_DRILL_X="X",VF.MPYTHON_DRILL_DRILL_rhombus="菱形",VF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",VF.MPYTHON_DRILL_DRILL_vertical_line="垂直線",VF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鳶尾花數據集",VF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="採用Python的Sklearn機器學習庫中自帶的數據集——鳶尾花數據集。簡單分析數據集之間特徵的關係圖,根據花瓣長度,花瓣寬度,花萼長度,花萼寬度四個特徵進行繪圖虹膜植物數據集可以從龍骨數據集數據集網站獲取,也可以直接從Sklearn。數據集機器學習包得到。數據集共包含4個特徵變量,1個類別變量,共150個有樣本。類別變量分別對應鳶尾花的三個亞屬,分別是山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor)和維吉尼亞鳶尾(Iris-virginica)分別用(0,1,2)來做映射",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鳶尾花 主成分分析",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鳶尾花 因子分析 3D",VF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鳶尾花 因子分析",VF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="預測圖示 鳶尾花類型%1 呈現內容 x%3 y%4 呈現種類%2 顏色爲 r%5 g%6 b%7 標題%8 向上合併%9",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="預測圖示 呈現內容 x%1 y%2 呈現種類%3 顏色爲 r%4 g%5 b%6 標題%7",VF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 預測圖示 呈現內容 x朝向%1 y朝向%2 z朝向%3 顏色爲 r%4 g%5 b%6 標題%7",VF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="標題%1 字號%2",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 標題%1 字號%2",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 標籤%1 標題%2 字號%3",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示圖例",VF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="顯示圖片",VF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x, y座標",VF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150條記錄,分別代表50條山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor),維吉尼亞鳶尾(Iris-virginica)",VF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鳶尾",VF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="變色鳶尾",VF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="維吉尼亞鳶尾",VF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散點圖",VF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde圖",VF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱圖",VF.MPYTHONS_FLOWER_DE_LUCE_merge="合並",VF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合並",VF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼長度",VF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼寬度",VF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣長度",VF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣寬度",VF.MPYTHONS_CONVERT_PICTURE_HELPURL="",VF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="將圖片轉換爲28²二值圖%1 待處理的圖片存儲路徑%2 處理後的圖片存儲路徑%3 格式%4",VF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通過串口把WIF傳給語音助手",VF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",VF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手寫數字數 據存儲路徑%1",VF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手寫數字字符庫",VF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",VF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手寫數字圖像 存儲路徑%1",VF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="",VF.MPYTHONS_SHOW_NUMBER_HELPURL="",VF.MPYTHONS_SHOW_NUMBER_MESSAGE0="顯示手寫數字圖像",VF.MPYTHONS_SHOW_NUMBER_TOOLTIP="",VF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",VF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="識別手寫數字圖像 存儲路徑%1",VF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="",VF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",VF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="創建變量%1 初始化 神經網絡張量 變量名%2",VF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",VF.MPYTHON_DRILL_RESHAPE_MESSAGE0="創建變量%1 將輸入照片變量%2 轉換爲 神經網絡輸出張量%3",VF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",VF.MPYTHON_DRILL_RESHAPE_HELPURL="",VF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="創建變量%1 共享變量%2 初始化模式%3",VF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",VF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",VF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="產生截斷正態分佈隨機數 輸出張量%1 標準差%2",VF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",VF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",VF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="創建常量 數值%1 輸出張量%2",VF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",VF.MPYTHON_NUMBER_CONSTANT_HELPURL="",VF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神經網絡輸出張量%1 共享變量%2 步長%3 填充%4",VF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",VF.MPYTHON_NUMBER_CONV2D_HELPURL="",VF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="張量%1",VF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",VF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",VF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷積二維層 變量%1 %2",VF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",VF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",VF.MPYTHON_NUMBER_RELU_MESSAGE0="創建變量%1 Relu正向激勵函數 卷積二維層%2",VF.MPYTHON_NUMBER_RELU_TOOLTIP="",VF.MPYTHON_NUMBER_RELU_HELPURL="",VF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二維層 變量%1 卷積層%2 池化窗口%3 步長%4 填充%5",VF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",VF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",VF.MPYTHON_NUMBER_MATMUL_MESSAGE0="兩個參數的對應元素各自相乘 x%1 y%2",VF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",VF.MPYTHON_NUMBER_MATMUL_HELPURL="",VF.MPYTHON_NUMBER_ADD_MESSAGE0="全連接層 變量%1 兩個參數的元素相加 x%2 y%3",VF.MPYTHON_NUMBER_ADD_TOOLTIP="",VF.MPYTHON_NUMBER_ADD_HELPURL="",VF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="創建變量%1 預測模型準確度 變量名%2",VF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",VF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",VF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="創建變量%1 損失函數%2",VF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",VF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",VF.MPYTHON_NUMBER_LOG_MESSAGE0="自然對數 %1",VF.MPYTHON_NUMBER_LOG_TOOLTIP="",VF.MPYTHON_NUMBER_LOG_HELPURL="",VF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="壓縮求和%1 維度%2",VF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因爲日誌函數是單調遞增的,所以logP (Y | X)也會達到最大值,因此在前面加上負號之後,最大化P (Y | X)就等價於最小化了。",VF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",VF.MPYTHON_NUMBER_TRAIN_MESSAGE0="優化學習速率 %1",VF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",VF.MPYTHON_NUMBER_TRAIN_HELPURL="",VF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="創建變量%1 優化張量%2",VF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",VF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",VF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",VF.MPYTHON_NUMBER_INIT_TOOLTIP="",VF.MPYTHON_NUMBER_INIT_HELPURL="",VF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="選擇 手寫數字集%1 數量%2",VF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",VF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",VF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",VF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",VF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",VF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",VF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",VF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",VF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="預測模型%1 擬合度%2 會話%3",VF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",VF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",VF.MPYTHON_NUMBER_EQUAL_MESSAGE0="兩個張量的每一維是否相等 x%1 y%2",VF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",VF.MPYTHON_NUMBER_EQUAL_HELPURL="",VF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="張量%1 按%2比較返回最大值的索引",VF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",VF.MPYTHON_NUMBER_ARGMAX_HELPURL="",VF.MPYTHON_NUMBER_CAST_MESSAGE0="轉爲浮點型 %1",VF.MPYTHON_NUMBER_CAST_TOOLTIP="",VF.MPYTHON_NUMBER_CAST_HELPURL="",VF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",VF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手寫數字識別模型 變量名%1 存儲路徑%2",VF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手寫數字識別模型保存路徑",VF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",VF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加載模型%1 存儲路徑%2",VF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="",VF.MPYTHONS_NUMBER_SAME="包含邊界",VF.MPYTHONS_NUMBER_VALID="不包含邊界",VF.MPYTHONS_NUMBER_train="訓練",VF.MPYTHONS_NUMBER_test="測試",VF.MPYTHONS_NUMBER_row="行",VF.MPYTHONS_NUMBER_rank="列",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="調用攝像頭 %1",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="調用筆記本內置攝像頭,所以參數爲0,如果有其他的攝像頭可以調整參數爲1,2",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="關閉攝像頭",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="刪除所有窗口",VF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加載模型 存儲路徑%1",VF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="從攝像頭讀取圖片",VF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有讀取圖片就真的,否則假;第二個參數是框架,是當前截取一幀的圖片。",VF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="轉爲灰度圖片",VF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="檢測人臉 每次圖像尺寸減小比例%1",VF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",VF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",VF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人臉區域顯示矩形框 顏色爲 紅%1 綠%2 藍%3",VF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存圖像 位置%1 ID%2 編號%3",VF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中顯示圖像 文件名%1",VF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通過esc鍵 退出",VF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置頂時使用纔有效果",VF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="獲得人臉在圖像中的座標值 人臉%1",VF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否讀取圖片",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打開攝像頭",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="獲取照片及id 照片存儲路徑%1",VF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化訓練模型",VF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="開始訓練模型",VF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1訓練模型 存儲路徑%2",VF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人臉模型訓練 數目",VF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口顯示 識別的名字%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",VF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口顯示 識別的置信度%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",VF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="預測人臉 名字%1 置信度%2",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="寫入",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="讀取",VF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",VF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",VF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",VF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",VF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",VF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",VF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",VF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",VF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",VF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",VF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",VF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",VF.Jenny="珍妮",VF.Jack="杰克",VF.Tom="汤姆",VF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",VF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",VF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查看训练库 选择%1",VF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",VF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",VF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",VF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",VF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",VF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",VF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",VF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",VF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",VF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",VF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",VF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",VF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",VF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",VF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",VF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",VF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",VF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",VF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",VF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",VF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",VF.MPYTHON_AGESTURE_ARRAY_HELPURL="",VF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",VF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",VF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",VF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",VF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",VF.MPYTHON_GESTURE_READ_LEND_HELPURL="",VF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",VF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",VF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",VF.MPYTHON_GESTURE_SCORE_HELPURL="",VF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",VF.MPYTHON_GESTURE_SCORE_TOOLTIP="",VF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",VF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",VF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",VF.MPYTHON_GESTURE_FORECAST_HELPURL="",VF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",VF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",VF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",VF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",VF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",VF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",VF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",VF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",VF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",VF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",VF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",VF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",VF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",VF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",VF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",VF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",VF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",VF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",VF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",VF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",VF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",VF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",VF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",VF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",VF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",VF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",VF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",VF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",VF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",VF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",VF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",VF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",VF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",VF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸%1 %2",VF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",VF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",VF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",VF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",VF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",VF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",VF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",VF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",VF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",VF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表%1",VF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",VF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",VF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻";VF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",VF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",VF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",VF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="计算总数 排序前%1",VF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",VF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",VF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",VF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",VF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",VF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",VF.FIRST="第一次",VF.LAST="最后一次",VF.MPYTHON_USOCKET_BLOCK="阻塞",VF.MPYTHON_USOCKET_UNBLOCK="非阻塞",VF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",VF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="設定socket %1 地址 %2 類型 %3",VF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="設定給定通訊端選項的值。所需的符號常數在通訊端模塊中定義(SO_ *等)。該值可以是整數或表示緩衝區的類位元組對象。",VF.MPYTHON_USOCKET_READLINE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",VF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行數據,遇分行符號結束並返回接收數據的對象",VF.MPYTHON_USOCKET_READLINE_TOOLTIP="接收一行數據,遇分行符號結束,並返回接收數據的對象",VF.MPYTHON_USOCKET_READ_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",VF.MPYTHON_USOCKET_READ_MESSAGE0="從socket %1 讀取 %2 字節並返回字節對象",VF.MPYTHON_USOCKET_READ_TOOLTIP="若未給定讀取數量 ,則按照類似 socket.readall() 的模式運行",VF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",VF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="設socket %1 為 %2 模式",VF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",VF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",VF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 設超時時間 %2 秒",VF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",VF.MPYTHON_USOCKET_RECV_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",VF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收並返回接收到的數據對象 最大數據量為 %2",VF.MPYTHON_USOCKET_RECV_TOOLTIP="",VF.MPYTHON_USOCKET_RECVFROM_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",VF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收並返回接收到的數據元組 最大數據量為 %2",VF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元組格式 (bytes, address)",VF.MPYTHON_USOCKET_SENDALL_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",VF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 連續發送%2 並返回發送的位元組數",VF.MPYTHON_USOCKET_SENDALL_TOOLTIP="將所有數據發送到通訊端。通訊端必須連接到遠程通訊端。與send()此不同,此方法將嘗試通過連續發送數據塊來發送所有數據。",VF.MPYTHON_USOCKET_SENDS_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",VF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",VF.MPYTHON_USOCKET_SENDS_TOOLTIP="將數據發送到通訊端。通訊端必須連接到遠程通訊端。返回發送的位元組數,可能小於數據長度(“short write”)。",VF.MPYTHON_USOCKET_SEND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",VF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",VF.MPYTHON_USOCKET_SEND_TOOLTIP="Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",VF.MPYTHON_TEXT_ESC_HELPURL="",VF.MPYTHON_TEXT_ESC_MESSAGE0="文本轉義字元 %1 ",VF.MPYTHON_TEXT_ESC_TOOLTIP="文本轉義字元",VF.MPYTHON_USOCKET_SENDTO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",VF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 發送 %2 到地址 %3",VF.MPYTHON_USOCKET_SENDTO_TOOLTIP="Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",VF.MPYTHON_USOCKET_CONNECT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",VF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 連接 host %2 端口 %3",VF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",VF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",VF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 並返回 ip",VF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需聯網",VF.MPYTHON_USOCKET_ACCEPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",VF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接受連接請求並返回socket元組",VF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收連接請求。socket需要指定地址並監聽連接。返回值是 (conn, address)。\nconn:新的socket對象,可以用來收發消息\naddress:連接到服務器的客戶端地址",VF.MPYTHON_USOCKET_LISTEN_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",VF.MPYTHON_USOCKET_LISTEN_MESSAGE0="監聽socket %1 backlog個數 %2",VF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",VF.MPYTHON_USOCKET_BIND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",VF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 綁定地址 %2 端口 %3",VF.MPYTHON_USOCKET_BIND_TOOLTIP="",VF.MPYTHON_USOCKET_CLOSE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",VF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 關閉",VF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",VF.MPYTHON_USOCKET_INIT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",VF.MPYTHON_USOCKET_INIT_MESSAGE0="創建 socket %1 地址 %2 類型 %3",VF.MPYTHON_USOCKET_INIT_TOOLTIP="AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP流\nSOCK_DGRAM:=2 — UDP數據報\nSOCK_RAW :=3 — 原始套接字\nSO_REUSEADDR : =4 — socket可重用\n",VF.MPYTHON_GET_POST_HELPURL="",VF.MPYTHON_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",VF.MPYTHON_GET_POST_TOOLTIP="",VF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",VF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",VF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",VF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",VF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",VF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 請求網址 %2 文件路徑 %3 Mime類型 %4 附加字段 %5",VF.MPYTHON_RESPONSE_HELPURL="",VF.MPYTHON_RESPONSE_MESSAGE0="響應内容 格式 %1",VF.MPYTHON_RESPONSE_TOOLTIP="",VF.STRING="字符串",VF._BYTE="二进制",VF.TEXT="文本",VF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",VF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="響應屬性 %1",VF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",VF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",VF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右鍵幫助,查看引脚聲明",VF.MPYTHON_SETS_PIN_MODE_MESSAGE0="設置引脚 %1 為 %2 模式 %3 並設置值為 %4",VF.MPYTHON_SET_PIN_IN="輸入",VF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽輸出",VF.MPYTHON_SET_PIN_LEAKY_OUT="開漏輸出",VF.MPYTHON_SET_PIN_NO_PULL="無上下拉",VF.MPYTHON_SET_PIN_DOWN_PULL="下拉",VF.MPYTHON_SET_PIN_UP_PULL="上拉",VF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",VF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="綫程鎖對象 %1 請求鎖",VF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",VF.MPYTHON_START_NEW_THREAD_HELPURL="",VF.MPYTHON_START_NEW_THREAD_MESSAGE0="子綫程 %1",VF.MPYTHON_START_NEW_THREAD_TOOLTIP="",VF.MPYTHON_UART_INIT_HELPURL="",VF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",VF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3組串口。0用於REPL,剩下1,2兩組串口可用。所有引脚皆可作爲串口的輸入RX,除 P2、P3 、P4 、P10 只能作爲輸出,其餘所有的引脚理論上都可作爲輸出 TX。",VF.MPYTHON_UART_DEINIT_HELPURL="",VF.MPYTHON_UART_DEINIT_MESSAGE0="關閉串口 %1",VF.MPYTHON_UART_DEINIT_TOOLTIP="關閉 UART 總線",VF.MPYTHON_UART_WRITE_STR_HELPURL="",VF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 寫入文本 %2 %3",VF.MPYTHON_UART_WRITE_STR_TOOLTIP="將文本寫入總線。\n返回值:寫入或 None 超時的字節數。",VF.MPYTHON_UART_WRITE_HEX_HELPURL="",VF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 發送16進制字符串 %2 %3",VF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",VF.MPYTHON_UART_HAS_DATA_HELPURL="",VF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可讀數據",VF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一個整數,計算可以無阻塞地讀取的字符數。\n如果沒有可用字符,它將返回0,如果有字符,則返回正數。\n即使有多個可讀的字符,該方法也可以返回1。",VF.MPYTHON_UART_READLINE_HELPURL="",VF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 讀取一行數據",VF.MPYTHON_UART_READLINE_TOOLTIP="讀一行,以換行符結尾。\n返回值:讀取行或 None 超時。",VF.MPYTHON_UART_READ_HELPURL="",VF.MPYTHON_UART_READ_MESSAGE0="串口 %1 讀取數據",VF.MPYTHON_UART_READ_TOOLTIP="讀取盡可能多的串口數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",VF.MPYTHON_UART_READ_LENGTH_HELPURL="",VF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 讀取數據 長度 %2",VF.MPYTHON_UART_READ_LENGTH_TOOLTIP="讀取指定長度字節數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",VF.MPYTHON_UART_WRITE_BYTE_HELPURL="",VF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 寫入單字節 %2",VF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="參數為 0~255 的整數\n將字節寫入總線。\n返回值:寫入或 None 超時的字節數。",VF.MPYTHON_UART_WRITE_BYTES_HELPURL="",VF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 寫入字節數組 %2",VF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="將字節數組寫入總線。\n返回值:寫入或 None 超時的字節數。",VF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",VF.TEXT_FORMAT_TOOLTIP="",VF.TEXT_FORMAT_HELPURL="",VF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",VF.TEXT_FORMAT2_TOOLTIP="",VF.TEXT_FORMAT2_HELPURL="",VF.MPYTHON_BAUDRATE_HELPURL="",VF.MPYTHON_BAUDRATE_MESSAGE0="%1",VF.MPYTHON_BAUDRATE_TOOLTIP="",VF.MPYTHON_HIGH_LOW_HELPURL="",VF.MPYTHON_HIGH_LOW_MESSAGE0="%1",VF.MPYTHON_HIGH_LOW_TOOLTIP="",VF.MPYTHON_TEN_CONVERT_TO_HELPURL="",VF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10進制整數 %1 轉化為 %2 字符串",VF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",VF.MPYTHON_BIN="二進制",VF.MPYTHON_OCT="八進制",VF.MPYTHON_HEX="十六進制",VF.MPYTHON_CONVERT_TO_TEN_HELPURL="",VF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 轉 10進制整數",VF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",VF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",VF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10進制整數 %2 轉 %1 字节",VF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",VF.MPYTHON_INT_TO_CHR_HELPURL="",VF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 轉 ASCII 單字符",VF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言",VF.MPYTHON_CHR_TO_INT_HELPURL="",VF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 單字符 %1 轉 整型",VF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",VF.MPYTHON_STR_TO_HEX_HELPURL="",VF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 轉 十六進制 字節",VF.MPYTHON_STR_TO_HEX_TOOLTIP="返回結果中用空格分隔兩個十六進制數",VF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",VF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六進制字符串 %1 轉 二進制 字節",VF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",VF.MPYTHON_DATA_TO_BASE64_HELPURL="",VF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式編碼 返回字節對象",VF.MPYTHON_DATA_TO_BASE64_TOOLTIP="",VF.MPYTHON_BASE64_TO_DATA_HELPURL="",VF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解碼 base64 數據 %1 返回字節對象",VF.MPYTHON_BASE64_TO_DATA_TOOLTIP="",VF.MPYTHON_UJSON_DUMPS_HELPURL="",VF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 轉 json 字符串",VF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",VF.MPYTHON_UJSON_LOADS_HELPURL="",VF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",VF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",VF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",VF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定義終端部件 Terminal 虛擬管脚 V %1",VF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",VF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",VF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虛擬管脚狀態 V %1",VF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",VF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",VF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="當 Blynk 斷開連接時",VF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",VF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",VF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="當 Blynk 連接時",VF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",VF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",VF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="運行 Blynk 定時器進程",VF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",VF.MPYTHON_BLYNK_RUN_HELPURL="",VF.MPYTHON_BLYNK_RUN_MESSAGE0="運行 Blynk 進程",VF.MPYTHON_BLYNK_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",VF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",VF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 顯示通知 %1",VF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",VF.MPYTHON_BLYNKTIMER_HELPURL="",VF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定時器 %1 %2 周期 %3 秒",VF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',VF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",VF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定時器",VF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",VF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",VF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定時器 %1",VF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',VF.MPYTHON_UART_INPUT_HELPURL="",VF.MPYTHON_UART_INPUT_MESSAGE0="從串口獲取文本 提示語句 %1",VF.MPYTHON_UART_INPUT_TOOLTIP="",VF.INT_TO_CHR_HELPURL="",VF.INT_TO_CHR_MESSAGE0="整數 %1 轉 ASCII 單字符",VF.INT_TO_CHR_TOOLTIP="",VF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",VF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="給虛擬管脚添加 屬性 %1 值 %2",VF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放於 read 或 write 事件中,虛擬管脚由事件決定,與該管脚綁定的組件會擁有添加的屬性",VF.MPYTHON_BLYNK_EMAIL_HELPURL="",VF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向預設郵箱發郵件 %1 主題 %2 正文 %3",VF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",VF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",VF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="發送數據 %1 到 Blynk APP 的 虛擬管脚 V %2",VF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虛擬管脚:V0 ~ V255",VF.MPYTHON_BLYNK_SETUP_HELPURL="",VF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 設置 %1 服務器 %2 端口 %3 授權碼 %4",VF.MPYTHON_BLYNK_SETUP_TOOLTIP="服務器可填 blynk-cloud.com 或者 blynk.mpython.cn\n默認端口為 8080\n註意:手機APP訪問端口為 9443",VF.MPYTHON_BLYNK_APP_DATA_HELPURL="",VF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="當 從 Blynk APP 收到 虛擬管腳 V %1 的值 %2 時",VF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虛擬管脚:V0 ~ V255",VF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="當 收到 Blynk 虛擬管腳 V %1 的值",VF.MPYTHON_BLYNK_VALUE_MESSAGE0="從 Blynk 收到的值",VF.MPYTHON_BLYNK_VALUE_TOOLTIP="",VF.MPYTHON_BLYNK_VALUE_HELPURL="",VF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 斷開連接",VF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",VF.MPYTHON_ONENET_DISCONNECT_HELPURL="",VF.MPYTHON_ONENET_MSG_MESSAGE0="從 OneNET 收到的消息",VF.MPYTHON_ONENET_MSG_TOOLTIP="",VF.MPYTHON_ONENET_MSG_HELPURL="",VF.MPYTHON_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 %1 時",VF.MPYTHON3_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 時",VF.MPYTHON_ONENET_RECV_TOOLTIP="",VF.MPYTHON_ONENET_RECV_HELPURL="",VF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="當 從 OneNET 收到特定消息 %1 時",VF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",VF.MPYTHON_ONENET_RECV_MSG_HELPURL="",VF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 發送數據流 名稱 %1 值 %2",VF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",VF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",VF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 發送數據流 %1",VF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",VF.MPYTHON_ONENET_PUB_DICT_HELPURL="",VF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 發送數據流 名稱 %1 值 %2",VF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",VF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",VF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",VF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超聲波距離 測量單位 %2",VF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",VF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",VF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超聲波(mm)",VF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",VF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",VF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超聲波初始化 名稱 %1 trigger %2 echo %3",VF.MPYTHON_HCSR04_OBJ_TOOLTIP="",VF.MPYTHON_PM2_5_MIC_HELPURL="",VF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值濃度%2",VF.MPYTHON_PM2_5_MIC_TOOLTIP="",VF.MPYTHON_PM2_5_LitresAir_HELPURL="",VF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1昇空氣中直徑在%2 顆粒物個數",VF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",VF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="當 紅外接收端 %1 收到消息時 %2 執行 %3",VF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="紅外回調地址",VF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="紅外接收內容",VF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="紅外接收 %1 回調地址 %2 回調命令 %3",VF.MPYTHON_IR_REMOTE_RECV_HELPURL="",VF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",VF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="紅外發送 %1 地址 %2 命令 %3",VF.MPYTHON_IR_REMOTE_SEND_HELPURL="",VF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",VF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",VF.MPYTHON_ONENET="OneNET 設置",VF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",VF.MPYTHON_ONENET_OPTION_BOARDS="可選掌控板",VF.MPYTHON_ONENET_TITLE="OneNET",VF.MPYTHON_SERVER="服務器",VF.MPYTHON_DEVICE_ID="設備ID",VF.MPYTHON_PRODUCT_ID="產品ID",VF.MPYTHON_API_KEY="產品APIKey",VF.MPYTHON_ONENET_CALLBACK="回調函數",VF.MPYTHON_TOPIC="主題",VF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回調函數",VF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",VF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 選擇掌控板應用 %1",VF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",VF.TEXT_TO_BYTE_MESSAGE0="轉字節 %1",VF.TEXT_TO_BYTE_TOOLTIP="支持數據類型:string",VF.TEXT_TO_BYTE_HELPURL="",VF.OTHER_TO_BYTE_MESSAGE0="非文本轉字節 %1",VF.OTHER_TO_BYTE_TOOLTIP="",VF.OTHER_TO_BYTE_HELPURL="",VF.MPYTHON_BYTES_DECODE_HELPURL="",VF.MPYTHON_BYTES_DECODE_MESSAGE0="字節 %1 轉 字符串",VF.MPYTHON_BYTES_DECODE_TOOLTIP="",VF.MPYTHON_ONENET_TOOLTIP="創建OneNET連接",VF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物聯網 確保連接到 Wi-Fi 名稱 %1 密碼 %2",VF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",VF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",VF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",VF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="儅從小程序收到消息 %1 和 %2 時",VF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",VF.MPYTHON_MAC_ADDRESS_HELPURL="",VF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",VF.MPYTHON_MAC_ADDRESS_TOOLTIP="",VF.MPYTHON_RADIO_REC_HELPURL="",VF.MPYTHON_RADIO_REC_MESSAGE0="無綫廣播 接收消息",VF.MPYTHON_RADIO_REC_TOOLTIP="所接收為字節型",VF.MPYTHON_RADIO_SEND_HELPURL="",VF.MPYTHON_RADIO_SEND_MESSAGE0="無綫廣播 發送 %1",VF.MPYTHON_RADIO_SEND_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_CHANNEL_HELPURL="",VF.MPYTHON_RADIO_CHANNEL_MESSAGE0="設無綫廣播 頻道為 %1",VF.MPYTHON_RADIO_CHANNEL_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_ON_OFF_HELPURL="",VF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 無綫廣播",VF.MPYTHON_RADIO_ON_OFF_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_MSG_MESSAGE0="收到的無線廣播消息",VF.MPYTHON_RADIO_MSG_TOOLTIP="",VF.MPYTHON_RADIO_MSG_HELPURL="",VF.MPYTHON3_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 時 %1 執行 %2",VF.MPYTHON_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 %1 時",VF.MPYTHON_RADIO_RECV_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_RECV_HELPURL="",VF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="當 收到特定無線廣播消息 %1 時 %2 執行 %3",VF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_RECV_MSG_HELPURL="",VF.MPYTHON_UDP_INIT_HELPURL="",VF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 連接",VF.MPYTHON_UDP_INIT_TOOLTIP="UDP連接基於Wi-Fi",VF.MPYTHON_UDP_SEND_HELPURL="",VF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群發消息 %1",VF.MPYTHON_UDP_SEND_TOOLTIP="",VF.MPYTHON_UDP_SENDTO_HELPURL="",VF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 發送消息 %1 到 %2 端口 %3",VF.MPYTHON_UDP_SENDTO_TOOLTIP="",VF.MPYTHON_UDP_RECV_HELPURL="",VF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",VF.MPYTHON_UDP_RECV_TOOLTIP="",VF.MPYTHON_UDP_RECV_EVENT_HELPURL="",VF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="當從 UDP 收到消息時 %1 執行 %2",VF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",VF.MPYTHON_UDP_RECV_MSG_MESSAGE0="從 UDP 收到的消息",VF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",VF.MPYTHON_UDP_RECV_MSG_HELPURL="",VF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鳥叫",VF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="鋼琴黑暗旋律配樂",VF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="貓叫",VF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",VF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="渾厚的打擊音",VF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="緊張效果的音效",VF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快門聲",VF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="數百只蒼蠅",VF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫聲",VF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="搖晃低音聲線",VF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="聽眾歡呼掌聲",VF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="郵輪汽笛",VF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="現代電話鈴聲",VF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔蘿蔔",VF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="兩只老虎",VF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",VF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="設音頻音量 %1",VF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",VF.MPYTHON_DISPCHAR_MODE_1="普通",VF.MPYTHON_DISPCHAR_MODE_2="反轉",VF.MPYTHON_DISPCHAR_MODE_3="透明",VF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",VF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 語音播放 %1",VF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 訊飛開放平臺 www.xfyun.cn 上開通“在線語音合成”服務",VF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",VF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 語音配置 APPID %1 APIKey %2",VF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="輸入在 訊飛開放平臺 www.xfyun.cn 獲取的 APPID 與 APIKey\n註意:要設置IP白名單",VF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",VF.MPYTHON_AUDIO_PLAY_MESSAGE0="音頻 播放 %1",VF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",VF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",VF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音頻 播放 %1",VF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",VF.MPYTHON_AUDIO_DEINIT_HELPURL="",VF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音頻 釋放緩存",VF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",VF.MPYTHON_AUDIO_CMD_HELPURL="",VF.MPYTHON_AUDIO_CMD_MESSAGE0="音頻 %1",VF.MPYTHON_AUDIO_CMD_TOOLTIP="",VF.MPYTHON_AUDIO_INIT_HELPURL="",VF.MPYTHON_AUDIO_INIT_MESSAGE0="音頻 初始化",VF.MPYTHON_AUDIO_INIT_TOOLTIP="為音頻解碼開闢緩存",VF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",VF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="開始錄音 錄音時長%1秒",VF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本,錄音時長不能超過5秒",VF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",VF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="錄音結果",VF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",VF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",VF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="將 %1 進行識別",VF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",VF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",VF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="識別錄音結果",VF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",VF.MPYTHON_RECORD_INIT_HELPURL="",VF.MPYTHON_RECORD_INIT_MESSAGE0="錄音 初始化",VF.MPYTHON_RECORD_INIT_TOOLTIP="錄音初始化。\n需要掌控板v1.1以上硬件版本。",VF.MPYTHON_RECORD_DEINIT_HELPURL="",VF.MPYTHON_RECORD_DEINIT_MESSAGE0="錄音 釋放資源",VF.MPYTHON_RECORD_DEINIT_TOOLTIP="錄音結束後釋放資源。\n需要掌控板v1.1以上硬件版本。",VF.MPYTHON_RECORD_WAV_HELPURL="",VF.MPYTHON_RECORD_WAV_MESSAGE0="錄制音頻 存儲路徑 %1 時長 %2 秒",VF.MPYTHON_RECORD_WAV_TOOLTIP="錄制音頻,並以 WAV 格式存儲。\n需要掌控板v1.1以上硬件版本。",VF.MPYTHON_ASR_HELPURL="",VF.MPYTHON_ASR_MESSAGE0="識別 %1 秒語音指令",VF.MPYTHON_ASR_TOOLTIP="可以識別3秒內的語音指令。\n需要掌控板v1.1以上硬件版本。",VF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_button_A="P5(按鍵A)",VF.mpython_button_B="P11(按鍵B)",VF.mpython_PIN7_RGB="P7(板載RGB)",VF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",VF.MPYTHON_PWM_PIN_P9="P9 (掌控實驗箱)",VF.mpython_tem="溫度",VF.mpython_hum="濕度",VF.mpython_pre="氣壓",VF.mpython_left_right="左右",VF.MPYTHON_LEFT="左",VF.MPYTHON_RIGHT="右",VF.mpython_front_back="前後",VF.mpython_vertical="垂直",VF.mpython_horizontal="水平",VF.mpython_run_in_back="後臺運行",VF.mpython_run_in_front="前臺運行",VF.mpython_draw="繪制",VF.mpython_clear="清除",VF.mpython_s="秒",VF.mpython_ms="毫秒",VF.mpython_us="微秒",VF.mpython_year="年",VF.mpython_month="月",VF.mpython_date="日",VF.mpython_hour="時",VF.mpython_minute="分",VF.mpython_week="星期數",VF.mpython_days="天數",VF.MPYTHON_ORDER="第",VF.MPYTHON_REVERSE_ORDER="倒數第",VF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定遞增基數集合中的一個隨機數,基數缺省值為1",VF.MATH_RANDOM_RANDRANGE_MESSAGE0="隨機數 從遞增區間 [%1 ,%2) 遞增步長%3",VF.MATH_KEEP_DECIMAL_HELPURL="",VF.MATH_KEEP_DECIMAL_TOOLTIP="",VF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小數",VF.MPYTHON_MIN="最小值",VF.MPYTHON_MAX="最大值",VF.MPYTHON_LENTH="長度",VF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.TUPLE_MIN_MAX_LEN_TOOLTIP="",VF.TUPLE_MIN_MAX_LEN_MESSAGE0="元組 %1 %2",VF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.TUPLE_ITEM_EXIST_TOOLTIP="",VF.TUPLE_ITEM_EXIST_MESSAGE0="元組%1 包含%2",VF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LIST_ITEM_EXIST_TOOLTIP="",VF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",VF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.PARTS_OF_TUPLE_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.PARTS_OF_TUPLE_MESSAGE0="返回元組%1 取第%2 項到尾項",VF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.PARTS_OF_TUPLE2_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",VF.PARTS_OF_TUPLE2_MESSAGE0="返回元組%1 取%2 %3 項到 %4 %5 項",VF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.PARTS_OF_LIST_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",VF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 項到 %4 %5 項",VF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LIST_TO_TUPLE_TOOLTIP="",VF.LIST_TO_TUPLE_MESSAGE0="列表%1 轉元組",VF.tuple_create_with_MESSAGE0="定義元組 %1 = %2 ",VF.tuple_create_with_TOOLTIP="只包含一個元素時,需要在元素後面添加逗號",VF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.tuple_order_item_MESSAGE0="元組%1 %2 %3 項",VF.tuple_order_item_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 項",VF.LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_LIST_ORDER_ITEM_MESSAGE0="設列表%1 %2 %3 項為%4",VF.SET_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 項為%4",VF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_TUPLE_ORDER_ITEM_MESSAGE0="設元組%1 %2 %3 項為%4",VF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_CREATE_WITH_TOOLTIP="",VF.DICT_CREATE_WITH_MESSAGE0="定義字典 %1 = %2",VF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_CREATE_WITH_TOOLTIP="",VF.SET_CREATE_WITH_MESSAGE0="定義集合 %1 = %2",VF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_UPDATE_WITH_TOOLTIP="添加參數可為字符串、列表、元組、集合、字典(只添加key),已有元素則不進行操作",VF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",VF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.INTERSECTION_OF_SETS_TOOLTIP="",VF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",VF.MPYTHON_INTERSECTION="交集",VF.MPYTHON_UNION="並集",VF.MPYTHON_DIFFERENCE="差集",VF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SETS_UPDATE_WAYS_TOOLTIP="",VF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新為 與集合 %2 的 %3",VF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SUBSET_SUPERSET_TOOLTIP="",VF.SUBSET_SUPERSET_MESSAGE0="集合 %1 為集合 %2 的 %3",VF.MPYTHON_SUBSET="子集",VF.MPYTHON_SUPERSET="超集",VF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LEN_OF_SETS_TOOLTIP="",VF.LEN_OF_SETS_MESSAGE0="集合 %1 長度",VF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.GET_SETS_POP_TOOLTIP="",VF.GET_SETS_POP_MESSAGE0="返回隨機項並移除之 從集合 %1",VF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.CREATE_EMPTY_SET_TOOLTIP="",VF.CREATE_EMPTY_SET_MESSAGE0="創建空集合 %1",VF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.BIT_INVERSION_TOOLTIP="對數據的每個二進制位取反",VF.BIT_INVERSION_MESSAGE0="二進制取反 %1",VF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="項可為字符串、已賦值變量、元組",VF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_KEY_VALUE_TOOLTIP="",VF.DICT_KEY_VALUE_MESSAGE0="字典%1 鍵%2 的值",VF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.ADD_DICT_KEY_VALUE_TOOLTIP="已有該鍵則更新該鍵",VF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加鍵%2 值%3",VF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_LENGTH_TOOLTIP="",VF.DICT_LENGTH_MESSAGE0="字典%1 長度",VF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_KEY_EXIST_TOOLTIP="",VF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含鍵%2",VF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",VF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",VF.DICT_KEYS="鍵",VF.DICT_VALUES="值",VF.mpython_lists_append_MESSAGE0="列表%1 末尾添加項%2",VF.mpython_lists_append_TOOLTIP="",VF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",VF.mpython_lists_extend_TOOLTIP="",VF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_lists_clear_MESSAGE0="列表%1 清空",VF.mpython_lists_clear_TOOLTIP="",VF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重複",VF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",VF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_Timer_value_MESSAGE0="定時器 %1 的計數值",VF.mpython_Timer_value_TOOLTIP="獲取並返回計時器當前計數值",VF.mpython_Timer_deinit_MESSAGE0="清除 定時器/事件 %1",VF.mpython_Timer_deinit_TOOLTIP="取消定時器的初始化。停止計時器,並禁用計時器外圍設備",VF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",VF.mpython_Interrupt_AB_TOOLTIP="",VF.mpython_Interrupt_AB_MESSAGE0="當按鍵 %1 被 %2 時",VF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",VF.mpython_Interrupt_pin_TOOLTIP="上升沿觸發:由低電平到高電平;下降沿觸發:由高電平到低電平",VF.mpython_Interrupt_pin_MESSAGE0="當引腳 %1 電平 %2 時",VF.mpython_Interrupt_pin_IRQ_FALLING="↘ 從高到低",VF.mpython_Interrupt_pin_IRQ_RISING="↗ 從低到高",VF.mpython_IRQ_FALLING="按下",VF.mpython_IRQ_RISING="松開",VF.mpython_PERIODIC="重復執行",VF.mpython_ONE_SHOT="延時執行",VF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",VF.MPYTHON_IS_SHAKED_HELPURL="",VF.MPYTHON_IS_SHAKED_TOOLTIP="",VF.MPYTHON_IS_SHAKED="被搖晃",VF.MPYTHON_IS_THROWN="被拋起",VF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="當掌控板 %1 時",VF.MPYTHON_SHAKE_DETECTOR_HELPURL="",VF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",VF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",VF.MPYTHON_IS_TILTED_HELPURL="",VF.MPYTHON_IS_TILTED_TOOLTIP="",VF.MPYTHON_TILT_DETECTOR_MESSAGE0="當掌控板 %1 時",VF.MPYTHON_TILT_DETECTOR_HELPURL="",VF.MPYTHON_TILT_DETECTOR_TOOLTIP="",VF.MPYTHON_DIRECTION_FORWARD="向前傾斜",VF.MPYTHON_DIRECTION_BACK="向後傾斜",VF.MPYTHON_DIRECTION_RIGHT="向右傾斜",VF.MPYTHON_DIRECTION_LEFT="向左傾斜",VF.MPYTHON_DIRECTION_NONE="平放",VF.MPYTHON_TOUCH_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",VF.MPYTHON_TOUCH_EVENT_HELPURL="",VF.MPYTHON_TOUCH_EVENT_TOOLTIP="",VF.MPYTHON_TOUCH_EVENT_PRESSED="觸摸",VF.MPYTHON_TOUCH_EVENT_UNPRESSED="釋放",VF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 當 %2 時",VF.MPYTHON_CUSTOM_EVENT_HELPURL="",VF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定義事件與定時器共用 1/2/4/7/8/9/10,不可同時占用一個端口。\n最大同時創建4個事件/定時器,如果存在沖突,請嘗試換一個編號。",VF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_music_range_pitch_TOOLTIP="時長為單個頻率的時長",VF.mpython_music_range_pitch_MESSAGE0="播放音調 從%1 到%2 步長%3 時長%4 毫秒 引脚 %5",VF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_neopixel_init_TOOLTIP="",VF.mpython_neopixel_init_MESSAGE0="燈帶初始化 名稱%1 引腳%2 數量%3",VF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",VF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹燈效 燈帶%1 數量 %2 亮度 %3 偏移 %4",VF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",VF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度調節, 範圍 0 ~ 100",VF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="燈帶 %1 設置亮度為 %2",VF.mpython_neopixel_single_TOOLTIP="",VF.mpython_neopixel_single_MESSAGE0="燈帶%1 %2號 紅%3 綠%4 藍%5",VF.mpython_neopixel_single_gui_MESSAGE0="燈帶 %1 %2號 顏色為 %3",VF.mpython_neopixel_single_gui_TOOLTIP="",VF.mpython_neopixel_show_TOOLTIP="",VF.mpython_neopixel_show_MESSAGE0="燈帶%1 設置生效",VF.mpython_neopixel_off_TOOLTIP="",VF.mpython_neopixel_off_MESSAGE0="燈帶%1 關閉",VF.mpython_neopixel_all_TOOLTIP="",VF.mpython_neopixel_all_MESSAGE0="燈帶%1 全亮 紅%2 綠%3 藍%4",VF.mpython_neopixel_all_gui_TOOLTIP="",VF.mpython_neopixel_all_gui_MESSAGE0="燈帶%1 全亮 顏色%2",VF.mpython_image_to_oled_MESSAGE0="打開圖片 %1 寬 %2 高 %3",VF.mpython_image_to_oled_TOOLTIP="",VF.mpython_time_localtime_MESSAGE0="本地時間 %1",VF.mpython_time_localtime_TOOLTIP="星期數:返回0~6,周一為0,周日為6\n天數:獲取當前日期是一年中的第幾天\n建議先連接wifi並獲取網絡時間",VF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",VF.mpython_WiFi_config_TOOLTIP="netmask-子網掩碼;gateway-網關",VF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_time_ticks_MESSAGE0="運行時間 %1",VF.mpython_time_ticks_TOOLTIP="",VF.MPYTHON_TIMER_DEF_MESSAGE0="定義定時器 %1",VF.MPYTHON_TIMER_INIT_MESSAGE0="啟動定時器 %1 %2 周期 %3 毫秒",VF.mpython_Timer_MESSAGE0="設置定時器 %1 %2 周期 %3 毫秒",VF.mpython_Timer_TOOLTIP="創建定時器n,n=1-14。\n最大同時創建4個定時器,如果存在沖突,請嘗試換一個編號。\n3用於內部程序,\n5/6用於伺服系統和ADC,\n11用於搖晃檢測,\n12用於觸摸鍵檢測,\n13用於Radio和DHT11/DHT22定時取值(共用),\n14用於OneNET和傾斜檢測(共用),\n其余端口與自定義事件共用。",VF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",VF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",VF.mpython_bme280_hum_tem_pre_TOOLTIP="氣壓單位Pa, 溫度單位攝氏度, 環境濕度單位%",VF.mpython_sway_xyz_MESSAGE0="%1 搖晃掌控板",VF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,觸摸鍵 'python' 靠近使用者,開始左右或前後搖晃掌控板",VF.mpython_init_bluetooth_MESSAGE0="初始化 藍牙名稱%1",VF.mpython_init_bluetooth_TOOLTIP="初始化 藍牙名稱",VF.mpython_OnOff_bluetooth_MESSAGE0="藍牙設備%1廣播",VF.mpython_OnOff_bluetooth_TOOLTIP="藍牙設備 開啟或關閉廣播",VF.mpython_HID_consumer_bluetooth_MESSAGE0="消費類設備%1 狀態%2",VF.mpython_HID_consumer_bluetooth_TOOLTIP="類比HID消費類設備的控制器,如藍牙遙控器",VF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="鍵盤 釋放按鍵",VF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="HID鍵盤設備",VF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠標%1",VF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠標設備",VF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠標 釋放按鍵",VF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠標設備",VF.mpython_HID_keyboard_bluetooth_MESSAGE0="鍵盤 按鍵%1",VF.mpython_HID_keyboard_bluetooth_TOOLTIP="鍵盤設備",VF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="HID設備按鍵 %1 組合按鍵%2",VF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",VF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="滑鼠 指標移動 x%2 y%1",VF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标坐标x,y轴的相对位移,范围-1023 ~ 1023",VF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="設備 按鍵 %1 組合按鍵%2",VF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="鍵盤設備",VF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="鍵盤 组合設備%1",VF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",VF.mpython_HID_keyboard_part_bluetooth_HELPURL="",VF.mpython_init_wifi_MESSAGE0="連接 Wi-Fi 名稱 %1 密碼 %2",VF.mpython_init_wifi_TOOLTIP="讓掌控板接入Wi-Fi環境",VF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 設置固定IP %1 IP 地址 %2 子網掩碼 %3 默認網關 %4 DNS %5",VF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",VF.MPYTHON_WIFI_IFCONFIG_HELPURL="",VF.mpython_dis_WiFi_MESSAGE0="斷開 Wi-Fi 連接",VF.mpython_dis_WiFi_TOOLTIP="",VF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",VF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密碼可以為空,或者8位以上的字母或數字。\nAP模式僅用於掌控板之間的相互通信,不可以作為熱點,令其它設備上網。",VF.MPYTHON_ENABLE_APWIFI_MESSAGE0="開啟 AP模式 名稱 %1 密碼 %2 信道 %3",VF.mpython_disable_APWiFi_MESSAGE0="關閉 AP模式",VF.mpython_disable_APWiFi_TOOLTIP="",VF.mpython_ntptime_settime_MESSAGE0="同步網絡時間 時區 %1 授時服務器 %2",VF.mpython_ntptime_settime_TOOLTIP="NTP時間同步是一種時間同步網絡技術",VF.mpython_wifi_get_date_MESSAGE0="獲取當前日期",VF.mpython_wifi_get_date_TOOLTIP="獲取當前日期字符串 示例:2020年12月12日",VF.mpython_wifi_get_time_MESSAGE0="獲取當前時間",VF.mpython_wifi_get_time_TOOLTIP="獲取當前時間字符串",VF.mpython_ntptime_timezone_E1="東1區",VF.mpython_ntptime_timezone_E2="東2區",VF.mpython_ntptime_timezone_E3="東3區",VF.mpython_ntptime_timezone_E4="東4區",VF.mpython_ntptime_timezone_E5="東5區",VF.mpython_ntptime_timezone_E6="東6區",VF.mpython_ntptime_timezone_E7="東7區",VF.mpython_ntptime_timezone_E8="東8區",VF.mpython_ntptime_timezone_E9="東9區",VF.mpython_ntptime_timezone_E10="東10區",VF.mpython_ntptime_timezone_E11="東11區",VF.mpython_ntptime_timezone_E12="東12區",VF.mpython_ntptime_timezone_0="中時區",VF.mpython_ntptime_timezone_W1="西1區",VF.mpython_ntptime_timezone_W2="西2區",VF.mpython_ntptime_timezone_W3="西3區",VF.mpython_ntptime_timezone_W4="西4區",VF.mpython_ntptime_timezone_W5="西5區",VF.mpython_ntptime_timezone_W6="西6區",VF.mpython_ntptime_timezone_W7="西7區",VF.mpython_ntptime_timezone_W8="西8區",VF.mpython_ntptime_timezone_W9="西9區",VF.mpython_ntptime_timezone_W10="西10區",VF.mpython_ntptime_timezone_W11="西11區",VF.mpython_ntptime_timezone_W12="西12區",VF.FILE_TO_LIST_HELPURL="",VF.FILE_TO_LIST_TOOLTIP="讀出指定路徑的文本文件內容(僅限utf-8格式),並轉為列表形式,以分隔符分隔。",VF.FILE_TO_LIST_MESSAGE0="讀取文本文件 %1 為列表 ,以 %2 分隔",VF.FILE_TO_BIN_HELPURL="",VF.FILE_TO_BIN_TOOLTIP="以二進制格式讀出指定路徑的文件內容。",VF.FILE_TO_BIN_MESSAGE0="讀取文件 %1 的二進制內容",VF.MPYTHON_INIT_FILE_HELPURL="",VF.MPYTHON_INIT_FILE_TOOLTIP="初始化一個文本文件,如果文件不存在則創建文件,如果文件存在則清空內容。",VF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",VF.MPYTHON_WRITE_FILE_HELPURL="",VF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路徑的文本文件寫入內容,如果文件不存在則創建文件。",VF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 寫入內容 %2 ,以 %3 分隔",VF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",VF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n須確保 SPI 總線的引腳與 micro SD 卡物理連接正確,並預先使用 FAT 或 FAT32 文件系統格式化 micro SD 卡。",VF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",VF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",VF.MPYTHON_SDCARD_MOUNT_TOOLTIP="掛載 SDCard 到指定路徑。",VF.MPYTHON_SDCARD_MOUNT_MESSAGE0="掛載 SD 卡到路徑 %1",VF.MPYTHON_ENTER="回車",VF.MPYTHON_COMMA="逗號",VF.MPYTHON_SEMICOLON="分號",VF.MPYTHON_SPACE="空格",VF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模擬時鐘 x %1 y %2 半徑 %3",VF.mpython_wifi_clock_TOOLTIP="需連接 Wi-Fi 使用",VF.mpython_def_clock_MESSAGE0="初始化時鐘%1 x %2 y %3 半徑 %4",VF.mpython_def_clock_TOOLTIP="",VF.mpython_settime_clock_MESSAGE0="時鐘%1 讀取時間",VF.mpython_settime_clock_TOOLTIP="",VF.mpython_draw_clear_clock_MESSAGE0="%1 時鐘 %2",VF.mpython_draw_clear_clock_TOOLTIP="",VF.mpython_tinywebio_start_MESSAGE0="啟動 TinyWebIO 服務 %1",VF.mpython_tinywebio_start_TOOLTIP="啟動該服務需連接Wi-Fi,TinyWebIO服務為App Inventor應用提供遠程控制接口的掌控板工具包",VF.mpython_tinywebio_client_setup_HELPURL="",VF.mpython_tinywebio_client_setup_TOOLTIP="向服務器發布的數據項(逗號分隔)\nbuttona/b 按鍵狀態\ntouchpadp/y/t/h/o/n 觸摸按鍵值\nlight 光線值\nsound 聲音值\naccelerometer 三軸加速度值\nid 掌控板標識\ntime 時間戳\npind 數字IO引腳\npina 模擬IO引腳\n----------\n從服務器讀取的數據項(逗號分隔)\nrgb0/1/2 RGB燈珠\noled OLED顯示屏\nmusic 音樂\nservo 舵機\npind 數字IO引腳\npina 模擬IO引腳",VF.mpython_tinywebio_client_setup_MESSAGE0="設置 TinyWebIO 客戶端參數 %1 TinyWebDB服務器地址 %2 向服務器發布的數據項 %3 從服務器讀取的數據項 %4 存取服務器的時間間隔(ms) %5",VF.mpython_tinywebio_client_action_HELPURL="",VF.mpython_tinywebio_client_action_TOOLTIP="",VF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客戶端",VF.mpython_tinywebio_client_action_start="啟動",VF.mpython_tinywebio_client_action_stop="停止",VF.MPYTHON_CUSTOM_CODE_HELPURL="",VF.MPYTHON_CUSTOM_CODE_TOOLTIP="",VF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定義代碼 %2 %3",VF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定義返回值 %1",VF.MPYTHON_CUSTOM_TYPE_IMPORT="置頂",VF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",VF.mpython_servo_angle0_MESSAGE0="設置舵機 %1 角度為 %2",VF.mpython_servo_angle_MESSAGE0="設置舵機 %1 角度為 %2 脈寬從 %3 到 %4 最大角度 %5",VF.mpython_servo_angle_TOOLTIP="電源線Vcc(紅色)連接拓展板電源口V,地線GND(棕色)連接拓展板地線口G,控制信號線(橙色)連接所選的拓展板引腳",VF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",VF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",VF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 連接拓展板的電源口 V ,- 連接拓展板的地線口 G ,out 連接拓展板的引腳 0(即選引腳)",VF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",VF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",VF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",VF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",VF.mpython_music_note_TOOLTIP="音符,如C4:4",VF.mpython_return_list_MESSAGE0="定義列表 %1 = %2",VF.mpython_return_list_TOOLTIP="",VF.mpython_display_Show_MESSAGE0="OLED 顯示生效",VF.mpython_display_Show_TOOLTIP="",VF.mpython_display_DispChar_MESSAGE0="顯示文本 x %1 y %2 內容 %3 模式 %4 %5",VF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",VF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",VF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行顯示 %2 模式 %3 %4",VF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",VF.mpython_line1="1",VF.mpython_line2="2",VF.mpython_line3="3",VF.mpython_line4="4",VF.mpython_line5="5",VF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",VF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",VF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="";VF.mpython_display_fill_0="清空",VF.mpython_display_fill_1="全亮",VF.mpython_display_invert_0="黑底",VF.mpython_display_invert_1="白底",VF.mpython_display_show="生效",VF.mpython_display_fill_MESSAGE0="OLED 顯示 %1",VF.mpython_display_fill_TOOLTIP="",VF.mpython_display_pixel_0="暗",VF.mpython_display_pixel_1="亮",VF.mpython_display_pixel_MESSAGE0="描點 x %1 y %2 為 %3",VF.mpython_display_pixel_TOOLTIP="",VF.mpython_display_hline_0="擦除",VF.mpython_display_hline_1="繪制",VF.mpython_display_hline_MESSAGE0="%1 水平線%2 x%3 y%4 長度%5",VF.mpython_display_hline_TOOLTIP="",VF.mpython_ProgressBar_MESSAGE0="進度條%1 x%2 y%3 寬%4 高%5 進度%6",VF.mpython_ProgressBar_TOOLTIP="",VF.mpython_stripBar_MESSAGE0="柱狀條%1 x%2 y%3 寬%4 高%5 進度%6",VF.mpython_stripBar_TOOLTIP="",VF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",VF.MPYTHON_QR_CODE_TOOLTIP="",VF.MPYTHON_QR_CODE_MESSAGE0="在坐標 x %1 y %2 繪制二維碼 %3 尺寸 %4",VF.MPYTHON_DISPLAY_MODE_0="擦除",VF.MPYTHON_DISPLAY_MODE_1="繪制",VF.MPYTHON_DISPLAY_HOLLOW="空心",VF.MPYTHON_DISPLAY_SOLID="實心",VF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 線 %3 x %4 y %5 長度 %6",VF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",VF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 寬 %6 高 %7",VF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",VF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圓 %3 x %4 y %5 半徑 %6",VF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",VF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",VF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",VF.MPYTHON_RGB_0="0 #",VF.MPYTHON_RGB_1="1 #",VF.MPYTHON_RGB_2="2 #",VF.MPYTHON_RGB_ALL="所有",VF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="設置 %1 RGB 燈顏色為 %2",VF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="設置 %1 RGB 燈顏色為 R %2 G %3 B %4",VF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.MPYTHON_OFF_RGB_LIST_MESSAGE0="關閉 %1 RGB 燈",VF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",VF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音樂 %1 引腳 %2",VF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放內置的音樂",VF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音樂 %1 直到完成 , 引腳 %2",VF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放內置的音樂",VF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖國",VF.MPYTHON_MUSIC_DONG_FANG_HONG="東方紅",VF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩雲追月",VF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走進新時代",VF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",VF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小調",VF.mpython_display_vline_MESSAGE0="%1 垂直線%2 x%3 y%4 長度%5",VF.mpython_display_vline_TOOLTIP="",VF.mpython_display_line_MESSAGE0="%1 線%2 x1 %3 y1 %4 到 x2 %5 y2 %6",VF.mpython_display_line_TOOLTIP="",VF.mpython_display_rect_MESSAGE0="%1 邊框%2 x %3 y %4 寬 %5 高 %6",VF.mpython_display_rect_TOOLTIP="",VF.mpython_display_RoundRect_MESSAGE0="%1 弧角邊框%2 x %3 y %4 寬 %5 高 %6 半徑%7",VF.mpython_display_RoundRect_TOOLTIP="",VF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 寬 %5 高 %6 ",VF.mpython_display_fill_rect_TOOLTIP="",VF.mpython_display_fill_circle_MESSAGE0="%1 實心圓%2 x %3 y %4 半徑 %5",VF.mpython_display_fill_circle_TOOLTIP="",VF.mpython_display_circle_MESSAGE0="%1 空心圓%2 x %3 y %4 半徑 %5",VF.mpython_display_circle_TOOLTIP="",VF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",VF.mpython_display_triangle_TOOLTIP="",VF.mpython_display_fill_triangle_MESSAGE0="%1 實心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",VF.mpython_display_fill_triangle_TOOLTIP="",VF.mpython_display_Bitmap_MESSAGE0="%1 圖像 x%2 y%3 寬%4 高%5 16進制圖像數據 %6",VF.mpython_display_Bitmap_TOOLTIP="將16進制圖像數據顯示在OLED屏的指定位置",VF.MPYTHON_GET_PBM_DATA_MESSAGE0="獲取內置圖像 %1 模式%2",VF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件,獲取指定路徑的圖像文件數據,返回一個元組對象。",VF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",VF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="獲取自定義圖像 %1 模式%2",VF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %3",VF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件",VF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",VF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %5 寬 %3 高 %4",VF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",VF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",VF.mpython_horizontal="水平",VF.mpython_vertical="垂直",VF.mpython_display_FrameBuffer_MESSAGE0="構建幀 列表 %1 長 %2 寬 %3 掃描模式 %4",VF.mpython_display_FrameBuffer_TOOLTIP="用圖像取模後數據的列表 ,創建128x64的幀緩存區,以儲存圖片幀",VF.MPYTHON_FONT_DIGIFACE_11="仿數碼管 11像素",VF.MPYTHON_FONT_DIGIFACE_16="仿數碼管 16像素",VF.MPYTHON_FONT_DIGIFACE_21="仿數碼管 21像素",VF.MPYTHON_FONT_DIGIFACE_30="仿數碼管 30像素",VF.MPYTHON_FONT_DIGIFACE_44="仿數碼管 44像素",VF.MPYTHON_FONT_DIGIFACE_IT_30="仿數碼管 斜體 30像素",VF.MPYTHON_FONT_DIGIFACE_IT_42="仿數碼管 斜體 42像素",VF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",VF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",VF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",VF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑體 12像素",VF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑體 16像素",VF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑體 21像素",VF.MPYTHON_FONT_WRAP="自動換行",VF.MPYTHON_FONT_NO_WRAP="不換行",VF.MPYTHON_FACE_1="心形",VF.MPYTHON_FACE_2="心形(小)",VF.MPYTHON_FACE_3="高興",VF.MPYTHON_FACE_4="笑臉",VF.MPYTHON_FACE_5="傷心",VF.MPYTHON_FACE_6="困惑",VF.MPYTHON_FACE_7="生氣",VF.MPYTHON_FACE_8="睡著",VF.MPYTHON_FACE_9="驚訝",VF.MPYTHON_FACE_10="愚蠢",VF.MPYTHON_FACE_11="極妙",VF.MPYTHON_FACE_12="無聊",VF.MPYTHON_FACE_ROCK="石頭",VF.MPYTHON_FACE_PAPER="布",VF.MPYTHON_FACE_SCISSORS="剪刀",VF.MPYTHON_FACE_ROCK_S="石頭(小)",VF.MPYTHON_FACE_PAPER_S="布(小)",VF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",VF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐標 x %1 y %2 顯示 %3 以 %4 字體 %5",VF.MPYTHON_DISPLAY_FONT_TOOLTIP="",VF.MPYTHON_DISPLAY_FONT_HELPURL="",VF.mpython_front="正向",VF.mpython_reverse="反轉",VF.mpython_display_blit_MESSAGE0="顯示幀 坐標x %1 y %2",VF.mpython_display_blit_TOOLTIP="",VF.mpython_front_reverse_MESSAGE0="像素點bit %1",VF.mpython_front_reverse_TOOLTIP="用於顯示之前",VF.mpython_images_append_MESSAGE0="動圖顯示 幀數%1 周期%2 長%3 寬%4",VF.mpython_images_append_TOOLTIP="上傳至掌控板的pbm圖片需命名為IMAGE.數字,後綴為pbm。如:IMAGE.1.pbm。幀數為7則數字為1至7",VF.mpython_button_is_pressed_MESSAGE0="按鍵%1 被按下",VF.mpython_button_is_pressed_TOOLTIP="",VF.mpython_button_both_pressed_MESSAGE0="AB按鍵都按下",VF.mpython_button_both_pressed_TOOLTIP="",VF.mpython_touchPad_value_MESSAGE0="按鍵%1 被觸摸",VF.mpython_touchPad_value_TOOLTIP="",VF.mpython_touchPad_value_num_MESSAGE0="按鍵%1 觸摸值",VF.mpython_touchPad_value_num_TOOLTIP="",VF.mpython_read_digital_MESSAGE0="讀取引腳 %1 數字值",VF.mpython_read_digital_TOOLTIP="",VF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水溫度感測器 引脚 %1",VF.mpython_read_DS18B20_TOOLTIP="",VF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",VF.mpython_set_digital_MESSAGE0="設置引腳 %2 數字值為 %1",VF.mpython_set_digital_TOOLTIP="",VF.mpython_read_analog_MESSAGE0="讀取引腳 %1 模擬值",VF.mpython_read_analog_TOOLTIP="",VF.mpython_set_analog_MESSAGE0="設置引腳 %2 模擬值(PWM)為 %1",VF.mpython_set_analog_TOOLTIP="模擬輸出是通過IO引腳輸出脈寬調制信號,輸出指定的電壓值,簡稱PWM。",VF.mpython_set_RGB_MESSAGE0="設置 %1 號 RGB 燈顏色為 R %2 G %3 B %4",VF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_set_RGB_color_MESSAGE0="設置 %1 號 RGB 燈顏色為 %2",VF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_set_RGB_all_MESSAGE0="設置所有 RGB 燈顏色為 R %1 G %2 B %3",VF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_set_RGB_color_all_MESSAGE0="設置所有 RGB 燈顏色為 %1",VF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_fresh_RGB_MESSAGE0="RGB 燈設置生效",VF.mpython_fresh_RGB_TOOLTIP="",VF.mpython_off_RGB_MESSAGE0="關閉 RGB 燈",VF.mpython_off_RGB_TOOLTIP="",VF.mpython_buzz_state_MESSAGE0="停止播放音樂",VF.mpython_buzz_state_TOOLTIP="",VF.mpython_buzz_freq_MESSAGE0="播放連續音調 %1 引脚 %2",VF.mpython_buzz_freq_TOOLTIP="",VF.mpython_buzz_tone_MESSAGE0="播放音調 %1",VF.mpython_buzz_tone_TOOLTIP="",VF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",VF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默認是掌控板的P6引脚",VF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",VF.MPYTHON_MUSIC_TONE_HELPURL="",VF.MPYTHON_MUSIC_TONE_TOOLTIP="",VF.MPYTHON_MUSIC_TONE_MESSAGE0="音調 %1",VF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",VF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",VF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 節拍 %2",VF.MPYTHON_MUSIC_TICK_HELPURL="",VF.MPYTHON_MUSIC_TICK_TOOLTIP="",VF.MPYTHON_MUSIC_TICK_MESSAGE0="節拍 %1",VF.MPYTHON_4_LINES_HELPURL="",VF.MPYTHON_4_LINES_TOOLTIP="",VF.MPYTHON_4_LINES_MESSAGE0="%1",VF.NUMBER_1="1",VF.NUMBER_1_2="1/2",VF.NUMBER_1_4="1/4",VF.NUMBER_2="2",VF.NUMBER_4="4",VF.mpython_read_sound_MESSAGE0="聲音值",VF.mpython_read_sound_TOOLTIP="",VF.mpython_read_light_MESSAGE0="光線值",VF.mpython_read_light_TOOLTIP="",VF.mpython_accelerometer_get_MESSAGE0="%1 軸加速度",VF.mpython_accelerometer_get_TOOLTIP="",VF.mpython_accelerometer_get_z_MESSAGE0="z軸加速度",VF.mpython_accelerometer_get_z_TOOLTIP="",VF.mpython_accelerometer_get_y_MESSAGE0="y軸加速度",VF.mpython_accelerometer_get_y_TOOLTIP="",VF.mpython_accelerometer_get_x_MESSAGE0="x軸加速度",VF.mpython_accelerometer_get_x_TOOLTIP="",VF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",VF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",VF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",VF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",VF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",VF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",VF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",VF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="設置加速度範圍,默認為 ±2g。",VF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="設置加速度範圍為 %1",VF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="設置加速度分辨率,默認為 10bits。",VF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="設置加速度分辨率為 %1",VF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校準加速度計的3個軸(x,y,z)的加速值偏差。\n一般情況下無需校準,只有遇到加速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1g。\n註意:校準數據斷電後不會保存。",VF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校準加速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4",VF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 軸 磁力",VF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南針方向",VF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校準指南針",VF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除當前環境磁場",VF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁場強度",VF.MPYTHON_TILT_ANGLE_HELPURL="",VF.MPYTHON_TILT_ANGLE_TOOLTIP="",VF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 軸傾斜角",VF.mpython_random_choice_MESSAGE0="返回隨機項%1",VF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的隨機項",VF.mpython_i2c_init_MESSAGE0="初始化I2C 波特率%1",VF.mpython_i2c_init_TOOLTIP="SCL引腳19,SDA引腳20,與內部的OLED和加速度傳感器共享I2C總線",VF.MACHINE_TIME_PULSE_US_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",VF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 電平持續時間(微秒)",VF.MACHINE_TIME_PULSE_US_TOOLTIP="",VF.BYTES="字節",VF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",VF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",VF.MPYTHON_I2C_INIT_TOOLTIP="",VF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",VF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",VF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",VF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",VF.MPYTHON_I2C_SCAN_MESSAGE0="%1 掃描地址",VF.MPYTHON_I2C_SCAN_TOOLTIP="返回壹個數組對象",VF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",VF.MPYTHON_I2C_DEINIT_MESSAGE0="關閉%1總線",VF.MPYTHON_I2C_DEINIT_TOOLTIP="",VF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",VF.MPYTHON_I2C_WRITETO_MESSAGE0="從%1 %5 地址%2 寫入%3 停止位%4",VF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n寫入:Number、String",VF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",VF.MPYTHON_I2C_READFROM_MESSAGE0="從%1 %5 地址%2 讀取 字節數%3 停止位%4",VF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",VF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",VF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="從%1 %6 地址%2 讀入緩存區%3 字節數%4 停止位%5",VF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",VF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",VF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 寫入%3",VF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n寫入:Number、String",VF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",VF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 讀取 字節數%3",VF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",VF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",VF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="從%1 %6 地址%2 寄存器%5 讀入緩存區%3 字節數%4",VF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",VF.mpython_print_MESSAGE0="調試輸出 %1",VF.mpython_print_TOOLTIP="通過串口調試,輸出字符串",VF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",VF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印數據到圖表",VF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印數據到圖表",VF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="數據",VF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",VF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="數據內容",VF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",VF.MPYTHON_INIT_CHART_TOOLTIP="",VF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化圖表列標題",VF.MPYTHON_INIT_CHART_INPUT_WITH="初始化圖表列標題",VF.MPYTHON_INIT_CHART_ITEM_TITLE="標題",VF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",VF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="數據列標題",VF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",VF.MPYTHON_MS="毫秒",VF.MPYTHON_US="微秒",VF.MPYTHON_TIME_DIFFERENCE_HELPURL="",VF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回運行時間差 開始時間 %1 結束時間 %2",VF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",VF.MPYTHON_TYPE_HELPURL="",VF.MPYTHON_TYPE_MESSAGE0="值 %1 的類型",VF.MPYTHON_TYPE_TOOLTIP="",VF.MPYTHON_TYPE_IS_HELPURL="",VF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的類型為 %2",VF.MPYTHON_TYPE_IS_TOOLTIP="",VF.MPYTHON_EVAL_HELPURL="",VF.MPYTHON_EVAL_MESSAGE0="計算表達式 %1 的結果",VF.MPYTHON_EVAL_TOOLTIP="計算字符串表達式,並返回結果",VF.MPYTHON_RETURN_HELPURL="",VF.MPYTHON_RETURN_MESSAGE0="return %1",VF.MPYTHON_RETURN_TOOLTIP="",VF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",VF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 電機速度 %1",VF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",VF.MPYTHON_M1M2_LED_ON_HELPURL="",VF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 設燈 %1 亮度 %2",VF.MPYTHON_M1M2_LED_ON_TOOLTIP="",VF.MPYTHON_M1M2_LED_OFF_HELPURL="",VF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 關燈 %1",VF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",VF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C數字光綫",VF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",VF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",VF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 顔色 %1",VF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 顔色",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",VF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",VF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 顔色 %1",VF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 顔色",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",VF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C電壓感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁場感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C電導率感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C氣壓感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光電門感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",VF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",VF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元組形式返回所有wifi配置信息",VF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",VF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已連接到 WI-FI",VF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",VF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",VF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi連接 語音助手 Wi-Fi 名稱 %1 密碼 %2",VF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通過串口把WIF傳給語音助手",VF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",VF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在檔案系統將文件上傳到板",VF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="讀取 語音助手 文字檔 %1",VF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",VF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="數碼管顯示 %1",VF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",VF.MPYTHON_MACHINE_RESET_HELPURL="",VF.MPYTHON_MACHINE_RESET_MESSAGE0="復位",VF.MPYTHON_MACHINE_RESET_TOOLTIP="與按下外部RESET按鍵效果一樣",VF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",VF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空數碼管",VF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",VF.MPYTHON_MUSIC_PIN_P6="默認",VF.MPYTHON_MUSIC_PIN_P6_HELPURL="",VF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",VF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",VF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",VF.MPYTHON_SLEEP_TOOLTIP="在進行下一個命令前,等待設定的時間。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符號ms(millisecond)\n微秒,符號μs(microsecond)",VF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="運行時間",VF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="獲取開機或復位後的運行時間(毫秒)。",VF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",VF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="溫度",VF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="獲取 micro:bit 的溫度(℃)。",VF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",VF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音樂 %1 等待 %2 循環 %3 引脚 %4",VF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放內置的音樂,可以設置等待模式和循環播放。",VF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",VF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音調 %1 %2 延時 %3 毫秒 引脚 %4",VF.MICROBIT_MUSIC_PITCH_TOOLTIP="在設定的時間長度裏播放音調。",VF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",VF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循環 %4",VF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符為字符串形式。默認是掌控板的P6引脚",VF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",VF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",VF.MICROBIT_MUSIC_RESET_MESSAGE0="恢復音樂設置",VF.MICROBIT_MUSIC_RESET_TOOLTIP="將所有音樂設置 (當前節拍, 音階和周期) 恢復成默認值。",VF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",VF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音樂 引脚 %1",VF.MICROBIT_MUSIC_STOP_TOOLTIP="默認是掌控板的P6引脚",VF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="設置每一拍等同 %1 分音符,每分鐘節拍數 %2",VF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="設置回放速度 (節拍)。一定數量的滴答代表一拍,每拍每分鐘播放次數 (BPM 每分鐘節拍)。",VF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",VF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="設置播放速度為 %1 倍",VF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符為1拍,每分鐘節拍數默認120,為1倍的播放速度",VF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",VF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="獲取當前節拍",VF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="獲取當前節拍: 每節拍滴答數, 每分鐘節拍 (BPM)。",VF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",VF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引腳 %1 控制, neopixel 彩燈數 %2 ",VF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩燈。需要設定 neopixels 彩燈數量和控制腳。",VF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",VF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩燈 %1",VF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩燈",VF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",VF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="顯示 neopixels 彩燈 %1",VF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="顯示 / 更新全部 neopixels 彩燈。",VF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",VF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",VF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩燈的紅、綠、藍 (RGB) 顏色",VF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",VF.MICROBIT_PIN_TOUCHED_MESSAGE0="引腳 %1 被觸摸",VF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引腳被觸摸將返回 “真”。",VF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",VF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸摸",VF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引腳曾經被觸摸將返回 “真”。",VF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",VF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引腳 %1 被觸摸的次數",VF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被觸摸的次數,然後清零。",VF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",VF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="讀取引腳 %1 模擬電壓",VF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="讀取引腳的模擬輸入電壓。",VF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",VF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="設置模擬量 %1 到引腳 %2",VF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="寫入模擬參數到指定引腳上。",VF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",VF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="讀取引腳 %1 的數字輸入",VF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="讀取引腳的數字輸入 (真 或 假)。",VF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",VF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="設置數字輸出 %1 到引腳 %2",VF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="寫入數字量 (真 或 假) 到指定引腳。",VF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",VF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",VF.MICROBIT_RADIO_ON_MESSAGE0="打開無線廣播",VF.MICROBIT_RADIO_ON_TOOLTIP="打開無線廣播。需要明確聲明調用,因為它會消耗更多功率和占用更多內存。",VF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",VF.MICROBIT_RADIO_OFF_MESSAGE0="關閉無線廣播",VF.MICROBIT_RADIO_OFF_TOOLTIP="關閉無線廣播,節省功耗和內存。",VF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置無線廣播消息長度 %1 %2 最大隊列數量 %3 %4 信道 %5 %6 廣播功率 %7 %8 地址 %9 %10 組 %11 %12 數據速率 %13",VF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置無線廣播。\n 長度指單個消息的最大長度; \n 隊列指可以存放在消息隊列中消息的數量; \n 信道指無線廣播使用的無線頻率; \n 功率指發射廣播信號的強度; \n 地址:32位值; \n 組:8位值(0-255); \n 數據速率指數據傳輸的速度。",VF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",VF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",VF.MICROBIT_RADIO_RESET_MESSAGE0="復位無線廣播",VF.MICROBIT_RADIO_RESET_TOOLTIP="恢復無線廣播到默認設置。",VF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="發送消息 %1",VF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="廣播文字消息。",VF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",VF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="發送字節 %1",VF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="廣播字節。",VF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",VF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",VF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",VF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",VF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字節",VF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字節。",VF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",VF.MICROBIT_SPEECH_SAY_MESSAGE0="說 %1",VF.MICROBIT_SPEECH_SAY_TOOLTIP="嘗試說英語",VF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",VF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="讀 %1",VF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精確發音。",VF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",VF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",VF.MICROBIT_SPEECH_SING_TOOLTIP="象機器人一樣唱歌。",VF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",VF.MICROBIT_GESTURE_SHAKE="搖晃",VF.MICROBIT_GESTURE_UP="上",VF.MICROBIT_GESTURE_DOWN="下",VF.MICROBIT_GESTURE_LEFT="左",VF.MICROBIT_GESTURE_RIGHT="右",VF.MICROBIT_GESTURE_FACE_UP="朝上",VF.MICROBIT_GESTURE_FACE_DOWN="朝下",VF.MICROBIT_GESTURE_FREEFAIL="自由下落",VF.MICROBIT_IMAGE_HEART="心形",VF.MICROBIT_IMAGE_HEART_SMALL="心(小)",VF.MICROBIT_IMAGE_HAPPY="高興",VF.MICROBIT_IMAGE_SMILE="笑臉",VF.MICROBIT_IMAGE_SAD="傷心",VF.MICROBIT_IMAGE_CONFUSED="困惑",VF.MICROBIT_IMAGE_ANGRY="生氣",VF.MICROBIT_IMAGE_ASLEEP="睡著",VF.MICROBIT_IMAGE_SUPRISED="驚訝",VF.MICROBIT_IMAGE_SILLY="愚蠢",VF.MICROBIT_IMAGE_FABULOUS="極妙",VF.MICROBIT_IMAGE_MEH="無聊",VF.MICROBIT_IMAGE_YES="是",VF.MICROBIT_IMAGE_NO="否",VF.MICROBIT_IMAGE_CLOCK12="12點",VF.MICROBIT_IMAGE_CLOCK11="11點",VF.MICROBIT_IMAGE_CLOCK10="10點",VF.MICROBIT_IMAGE_CLOCK9="9點",VF.MICROBIT_IMAGE_CLOCK8="8點",VF.MICROBIT_IMAGE_CLOCK7="7點",VF.MICROBIT_IMAGE_CLOCK6="6點",VF.MICROBIT_IMAGE_CLOCK5="5點",VF.MICROBIT_IMAGE_CLOCK4="4點",VF.MICROBIT_IMAGE_CLOCK3="3點",VF.MICROBIT_IMAGE_CLOCK2="2點",VF.MICROBIT_IMAGE_CLOCK1="1點",VF.MICROBIT_IMAGE_ARROW_N="箭頭-北",VF.MICROBIT_IMAGE_ARROW_NE="箭頭-東北",VF.MICROBIT_IMAGE_ARROW_E="箭頭-東",VF.MICROBIT_IMAGE_ARROW_SE="箭頭-東南",VF.MICROBIT_IMAGE_ARROW_S="箭頭-南",VF.MICROBIT_IMAGE_ARROW_SW="箭頭-西南",VF.MICROBIT_IMAGE_ARROW_W="箭頭-西",VF.MICROBIT_IMAGE_ARROW_NW="箭頭-西北",VF.MICROBIT_IMAGE_TRIANGLE="三角形",VF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",VF.MICROBIT_IMAGE_CHESSBOARD="棋盤",VF.MICROBIT_IMAGE_DIAMOND="菱形",VF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",VF.MICROBIT_IMAGE_SQUARE="方形",VF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",VF.MICROBIT_IMAGE_RABBIT="兔子",VF.MICROBIT_IMAGE_COW="牛",VF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",VF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",VF.MICROBIT_IMAGE_MUSIC_QUAVERS="顫音",VF.MICROBIT_IMAGE_PITCHFORK="叉子",VF.MICROBIT_IMAGE_XMAS="聖誕樹",VF.MICROBIT_IMAGE_PACMAN="吃豆人",VF.MICROBIT_IMAGE_TARGET="目標",VF.MICROBIT_IMAGE_TSHIRT="T恤衫",VF.MICROBIT_IMAGE_ROLLERSKATE="輪滑",VF.MICROBIT_IMAGE_DUCK="鴨子",VF.MICROBIT_IMAGE_HOUSE="房子",VF.MICROBIT_IMAGE_TORTOISE="烏龜",VF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",VF.MICROBIT_IMAGE_STICKFIGURE="線條畫",VF.MICROBIT_IMAGE_GHOST="幽靈",VF.MICROBIT_IMAGE_SWORD="寶劍",VF.MICROBIT_IMAGE_GIRAFFE="長頸鹿",VF.MICROBIT_IMAGE_SKULL="頭",VF.MICROBIT_IMAGE_UMBRELLA="傘",VF.MICROBIT_IMAGE_SNAKE="蛇",VF.MICROBIT_IMAGE_ALL_CLOCKS="所有時鐘",VF.MICROBIT_IMAGE_ALL_ARROWS="所有箭頭",VF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",VF.MICROBIT_PIN_SET_SERVO_TOOLTIP="設置舵機角度,範圍為 0 ~ 180度",VF.MICROBIT_PIN_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",VF.MICROBIT_PIN_SET_MODE_HELPURL="",VF.MICROBIT_PIN_SET_MODE_TOOLTIP="引腳模式有三種:懸空、上拉、下拉",VF.MICROBIT_PIN_SET_MODE_MESSAGE0="設置引腳 %1 模式為 %2",VF.MICROBIT_PIN_MODE_NO="懸空",VF.MICROBIT_PIN_MODE_UP="上拉",VF.MICROBIT_PIN_MODE_DOWN="下拉",VF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",VF.MICROBIT_UART_INIT_TOOLTIP="",VF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",VF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到數據",VF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_READ_MSG_TOOLTIP="",VF.MICROBIT_UART_READ_MSG_MESSAGE0="讀取串口 %1 字節",VF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",VF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="讀取串口 %1 字節存至 %2",VF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",VF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口發送數據 %1",VF.MICROBIT_ALL_BYTES="全部",VF.MICROBIT_ALINE_BYTES="一行",VF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引腳 %1 被觸發",VF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按鍵按下返回 “真”,否則返回 “假”。",VF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",VF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸發",VF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按鍵曾經按下過返回 “真”,否則返回 “假”。",VF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",VF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引腳 %1 被觸發過的次數",VF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按鍵按下的總次數,然後清除計數。",VF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",VF.LABPLUS_LED_MESSAGE0="設置LED燈 引腳 %2 輸出 %1",VF.LABPLUS_LED_TOOLTIP="",VF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",VF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="紅外探測 引腳 %1 被觸發",VF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",VF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="熱敏傳感器 引腳 %1 的值",VF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",VF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",VF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C數字光線傳感器的值(lux)",VF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",VF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",VF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位傳感器 引腳 %1 的值",VF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",VF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",VF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="煙霧探測器 引腳 %1 被觸發",VF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",VF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_BUZZER_FOR_TOOLTIP="",VF.LABPLUS_BUZZER_FOR_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0 %2 毫秒",VF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_BUZZER_ON_TOOLTIP="",VF.LABPLUS_BUZZER_ON_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0",VF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_BUZZER_OFF_TOOLTIP="",VF.LABPLUS_BUZZER_OFF_MESSAGE0="關閉蜂鳴器 引腳0",VF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C溫濕度傳感器的 %1 值",VF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",VF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",VF.LABPLUS_TM_HM_SENSOR_TM="溫度",VF.LABPLUS_TM_HM_SENSOR_HM="濕度",VF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",VF.LABPLUS_SET_SERVO_TOOLTIP="",VF.LABPLUS_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",VF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指紋傳感器 引腳 %1 驗證通過",VF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",VF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",VF.LABPLUS_SET_MOTOR_HELPURL="",VF.LABPLUS_SET_MOTOR_TOOLTIP="",VF.LABPLUS_SET_MOTOR_MESSAGE0="設置電機 %1 方向 %2 速度 %3",VF.LABPLUS_SET_MOTOR_CLOCKWISE="正轉",VF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反轉",VF.LABPLUS_STOP_MOTOR_HELPURL="",VF.LABPLUS_STOP_MOTOR_TOOLTIP="",VF.LABPLUS_STOP_MOTOR_MESSAGE0="停止電機",VF.LABPLUS_GET_RFID_ID_MESSAGE0="射頻卡 引腳 %1 驗證通過",VF.LABPLUS_GET_RFID_ID_TOOLTIP="",VF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",VF.LABPLUS_GET_RFID_VALUE_MESSAGE0="電子錢包 引腳 %1 余額",VF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",VF.LABPLUS_GET_RFID_VALUE_HELPURL="",VF.LABPLUS_SET_RFID_VALUE_MESSAGE0="設置電子錢包 引腳 %1 余額 %2 %3",VF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",VF.LABPLUS_SET_RFID_VALUE_HELPURL="",VF.LABPLUS_SET_RFID_ADD="增加",VF.LABPLUS_SET_RFID_MINUS="減少",VF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="聲音傳感器 引腳 %1 被觸發",VF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",VF.LABPLUS_USB_SWITCH_HELPURL="",VF.LABPLUS_USB_SWITCH_TOOLTIP="",VF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB開關 引腳 %2",VF.LABPLUS_USB_SWITCH_ON="打開",VF.LABPLUS_USB_SWITCH_OFF="關閉",VF.LABPLUS_VOICE_RECORD_HELPURL="",VF.LABPLUS_VOICE_RECORD_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 語音錄放器 引腳 %2",VF.LABPLUS_VOICE_RECORD_ON="打開",VF.LABPLUS_VOICE_RECORD_OFF="關閉",VF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引腳 %1 控制,RGB 彩燈數 %2 ",VF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩燈。需要設定 neopixels 彩燈數量和控制腳。",VF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",VF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩燈 %1",VF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩燈",VF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",VF.LABPLUS_RGB_SHOW_MESSAGE0="顯示 RGB 彩燈 %1",VF.LABPLUS_RGB_SHOW_TOOLTIP="顯示 / 更新全部 RGB 彩燈。",VF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",VF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",VF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩燈的紅、綠、藍 (RGB) 顏色",VF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="設置擴展端口 IO %1 為 %2",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示輸出引腳,1表示輸入引腳",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="輸入",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="輸出",VF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",VF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",VF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="讀取擴展端口值 IO %1",VF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",VF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",VF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="設置擴展端口 IO %1 值為 %2",VF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",VF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",VF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超聲波傳感器的值",VF.MICROBIT_SET_MUSIC_PIN_HELPURL="",VF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",VF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="設置默認蜂鳴器引腳為 %1",VF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94",VF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人體感應 引腳 %1 被觸發",VF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3",VF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="門磁開關 引腳 %1 被觸發",VF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",VF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",VF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="聲音傳感器 引腳 %1 的值",VF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",VF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",VF.LABPLUS_SMOKE_SENSOR_MESSAGE0="煙霧傳感器 引腳 %1 的值",VF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",VF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",VF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤濕度傳感器 引腳 %1 的值",VF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",VF.LABPLUS_FAN_SWITCH_TOOLTIP="",VF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 風扇 引腳 %2",VF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 引腳 %2",VF.LABPLUS_VOICE_RECORD_PLAY="播放",VF.LABPLUS_VOICE_RECORD_REC="錄音",VF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 引腳 %1",VF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_ON_TOOLTIP="",VF.LABPLUS_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳 %3",VF.LABPLUS_MOTOR_ON_CLOCKWISE="正轉",VF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反轉",VF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_OFF_TOOLTIP="",VF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流電機 引腳 %1",VF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",VF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",VF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C顏色傳感器讀取並儲存顏色",VF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",VF.LABPLUS_RGB_COLOR_TOOLTIP="讀取已儲存的顏色",VF.LABPLUS_RGB_COLOR_MESSAGE0="RGB顏色 %1",VF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",VF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",VF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="設置I2C數碼管的值為 %1",VF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",VF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",VF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="關閉I2C數碼管",VF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",VF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="設置MIDI模塊音調為 %1",VF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",VF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模塊 %2 音符 %1",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",VF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si",VF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",VF.LABPLUS_UART_OFF_MIDI_NOTE="停止",VF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",VF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模塊停止播放音符 %1",VF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",VF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模塊 %1",VF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",VF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循跡傳感器 引腳 %1 檢測為黑",VF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",VF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",VF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35溫度傳感器 引腳 %1 的值",VF.LABPLUS_ROTATE_DIMMER_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8",VF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",VF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋轉電位器 引腳 %1 的值",VF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",VF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震動傳感器 引腳 %1 被觸發",VF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",VF.LABPLUS_LASER_SWITCH_TOOLTIP="",VF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光開關 引腳 %2",VF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",VF.LABPLUS_4BUTTON_TOOLTIP="",VF.LABPLUS_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",VF.BLUE="A",VF.GREEN="B",VF.RED="C",VF.YELLOW="D",VF.LABPLUS_JOYSTICK_HELPURL="",VF.LABPLUS_JOYSTICK_TOOLTIP="",VF.LABPLUS_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",VF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",VF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",VF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模塊(UART)播放第 %1 首音樂",VF.LABPLUS_UART_MP3_SET_VOLUME_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",VF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",VF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="設置MP3模塊(UART)音量為 %1",VF.LABPLUS_UART_MP3_SET_STATUS_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",VF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",VF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="設置MP3模塊(UART)狀態為 %1",VF.PAUSE="暫停",VF.STOP="停止",VF.PLAY="繼續播放",VF.PLAYNEXT="下一首",VF.PLAYPREV="上一首",VF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_INIT_TOOLTIP="",VF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",VF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打開錄放器 %1 %2 引腳REC %3 引腳PLAY %4",VF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="關閉錄放器 %1 引腳REC %2 引腳PLAY %3",VF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_ON1_TOOLTIP="",VF.LABPLUS_MOTOR_ON1_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",VF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_OFF1_TOOLTIP="",VF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",VF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",VF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="設置LCD遊標位置%1 X %2 Y %3";VF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",VF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="設置LCD顯示 %1",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循環次數使用",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滾動LCD顯示內容",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",VF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",VF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD顯示內容",VF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",VF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到數據",VF.BLUEBIT_UART="串口",VF.BLUEBIT_INFRARED_SIGNAL="紅外信號",VF.BLUEBIT_BLUEBOOTH="藍牙",VF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_READ_MSG_TOOLTIP="",VF.LABPLUS_UART_READ_MSG_MESSAGE0="讀取 %1 數據",VF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",VF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 發送數據 %2",VF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",VF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",VF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="設置點陣 %1 第一行顯示%2 第二行顯示%3 第三行顯示%4 第四行顯示%5 第五行顯示%6 第六行顯示%7 第七行顯示%8 第八行顯示%9 ",VF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2="設置點陣 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",VF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",VF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",VF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空點陣",VF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",VF.LABPLUS_UART_SET_OLED_TOOLTIP="",VF.LABPLUS_UART_SET_OLED_MESSAGE0="設置OLED屏 %1 X %2 Y %3 顯示文本 %4 字體為 %5",VF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",VF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",VF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩陣 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",VF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",VF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",VF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",VF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",VF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",VF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模擬光線傳感器 引腳 %1 的值",VF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",VF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按鍵模塊 引腳 %1 被按下",VF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",VF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="設置舵機 %1 的角度為 %2",VF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",VF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="設置馬達 %1 方向 %2 速度 %3",VF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",VF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止馬達 %1",VF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="聲音傳感器的值",VF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",VF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光線傳感器的值",VF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",VF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_INIT_I2C_TOOLTIP="",VF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 頻率 %1 引腳SDA %2 引腳SCL %3",VF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_I2C_READ_TOOLTIP="",VF.MICROBIT_I2C_READ_MESSAGE0="I2C讀取從地址 %1 讀取 %2 字節",VF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_I2C_WRITE_TOOLTIP="",VF.MICROBIT_I2C_WRITE_MESSAGE0="I2C寫入 %2 到地址 %1",VF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",VF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",VF.BOTBIT_MOTOR_ON_HELPURL="",VF.BOTBIT_MOTOR_ON_TOOLTIP="範圍:-2000~2000",VF.BOTBIT_MOTOR_ON_MESSAGE0="設置機器人 %1 右輪速度為 %2 左輪速度為 %3",VF.BOTBIT_MOTOR_LEFT="左",VF.BOTBIT_MOTOR_RIGHT="右",VF.BOTBIT_SERVO_UP="上方",VF.BOTBIT_SERVO_DOWN="下方",VF.BOTBIT_MOTOR_FORWARD="前進",VF.BOTBIT_MOTOR_BACKWARD="後退",VF.BOTBIT_HOLDBALL_HELPURL="",VF.BOTBIT_HOLDBALL_TOOLTIP="",VF.BOTBIT_HOLDBALL_MESSAGE0="雙臂抱起",VF.BOTBIT_STEERING_ENGINEL_HELPURL="",VF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度範圍為-45°~45°",VF.BOTBIT_STEERING_ENGINEL_MESSAGE0="設置 %1臂 %2的角度為 %3",VF.BOTBIT_SERVO_Y="Y軸舵機",VF.BOTBIT_SERVO_X="X軸舵機",VF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",VF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度範圍為-45°~45°",VF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="設置 %1腿 %2舵機的角度為 %3",VF.BOTBIT_UPDATEPOSITION_HELPURL="",VF.BOTBIT_UPDATEPOSITION_TOOLTIP="",VF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵機角度",VF.BOTBIT_ULTRASONIC_HELPURL="",VF.BOTBIT_ULTRASONIC_TOOLTIP="",VF.BOTBIT_ULTRASONIC_MESSAGE0="超聲波傳感器的值",VF.BOTBIT_WALKING_HELPURL="",VF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推薦1000~2000",VF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步數%2 周期%3 方向%1 ",VF.BOTBIT_WALKING_FORWARD="前",VF.BOTBIT_WALKING_BACK="後",VF.BOTBIT_MOONWALKER_HELPURL="",VF.BOTBIT_MOONWALKER_TOOLTIP="推薦周期1000~2000, 幅度10~50",VF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步數%2 周期%3 幅度%4 方向%1 ",VF.BOTBIT_MOONWALKER_L="左",VF.BOTBIT_MOONWALKER_R="右",VF.BOTBIT_CRUSAITO_HELPURL="",VF.BOTBIT_CRUSAITO_TOOLTIP="推薦步數2~10, 幅度10~50",VF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步數%2 周期%3 幅度%4 方向%1",VF.BOTBIT_CRUSAITO_CW="逆時針",VF.BOTBIT_CRUSAITO_ANTICW="順時針",VF.BOTBIT_FLAPPING_HELPURL="",VF.BOTBIT_FLAPPING_TOOLTIP="推薦步數5~15, 幅度10~30, 周期1000~2000",VF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步數%2 周期%3 幅度%4 方向%1",VF.BOTBIT_FLAPPING_FORWARD="前",VF.BOTBIT_FLAPPING_BACK="後",VF.BOTBIT_HOME_HELPURL="",VF.BOTBIT_HOME_TOOLTIP="",VF.BOTBIT_HOME_MESSAGE0="機器人舞步初始化",VF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",VF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",VF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="設置MIDI模塊音量為 %1",VF.labplus_mapping_MESSAGE0="映射%1 從%2 , %3到%4 , %5",VF.labplus_mapping_TOOLTIP="將0~100中的10映射到0~200中並返回映射值",VF.labplus_mapping_HELPURL="",VF.JOINT_MIDI_PIANO="平臺鋼琴",VF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",VF.JOINT_MIDI_ELECTRICGRANDPIANO="電鋼琴",VF.JOINT_MIDI_HARPSICHORD="大鍵琴",VF.JOINT_MIDI_Celesta="鋼片琴",VF.JOINT_MIDI_Glockenspiel="鐘琴",VF.JOINT_MIDI_Musicalbox="音樂盒",VF.JOINT_MIDI_Marimba="馬林巴琴",VF.JOINT_MIDI_Xylophone="木琴",VF.JOINT_MIDI_TubularBell="管鐘",VF.JOINT_MIDI_Dulcimer="洋琴",VF.JOINT_Vibraphone="顫音琴",VF.JOINT_MIDI_ORGAN="音栓風琴",VF.JOINT_Acoustic_Guitar="木吉他",VF.JOINT_Electric_Guitar="電吉他",VF.JOINT_Acoustic_Bass="民謠貝斯",VF.JOINT_String_Ensemble="弦樂合奏",VF.JOINT_Violin="小提琴",VF.JOINT_Trumpet="小號",VF.JOINT_Sax="薩克斯",VF.JOINT_Steel_Drums="鋼鼓",VF.JOINT_Lead="合成音主旋律",VF.JOINT_Pad="合成音襯底",VF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",VF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音調 %1",VF.Carbit_init_MESSAGE0="CarBit初始化",VF.Carbit_init_TOOLTIP="",VF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_setLeftMotor_MESSAGE0="B2電機速度 %1",VF.Carbit_setLeftMotor_TOOLTIP="範圍:-100~100",VF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_setRightMotor_MESSAGE0="B1電機速度 %1",VF.Carbit_setRightMotor_TOOLTIP="範圍:-100~100",VF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_analog_light_TOOLTIP="Q3對應Pin1,Q4對應Pin2",VF.Carbit_analog_light_MESSAGE0="%1 模擬光線的值",VF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_Speed_U10_TOOLTIP="對應U10",VF.Carbit_Speed_U10_MESSAGE0="左輪速度",VF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_Speed_U11_TOOLTIP="對應U11",VF.Carbit_Speed_U11_MESSAGE0="右輪速度",VF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_Distance_TOOLTIP="",VF.Carbit_Distance_MESSAGE0="超聲波的值",VF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_tracking_TOOLTIP="",VF.Carbit_tracking_MESSAGE0="循跡參數 %1 直行速度 %2 最大限速 %3 轉彎延時 %5 轉彎速度系數 %4 ",VF.XUNFEI_SPEECH_TTS_HELPURL="",VF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音頻文件格式只能是 *.pcm",VF.XUNFEI_SPEECH_TTS_MESSAGE0="[訊飛語音] 合成音頻 %1 APPID %2 APISecret %3 APIKey %4 文字內容 %5 轉存為音頻文件 %6",VF.XUNFEI_SPEECH_IAT_HELPURL="",VF.XUNFEI_SPEECH_IAT_TOOLTIP="可識別的音頻格式有 *.pcm 與 *.wav",VF.XUNFEI_SPEECH_IAT_MESSAGE0="[訊飛語音] 識別音頻 %1 APPID %2 APISecret %3 APIKey %4 待識別音頻文件 %5",VF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",VF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",VF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[訊飛語音] 識別結果",VF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",VF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",VF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",VF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",VF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",VF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",VF.MPYTHON_ZKAI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",VF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",VF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",VF.MPYTHON_ZKAI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",VF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",VF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",VF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",VF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",VF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",VF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",VF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",VF.MPYTHON_ZKAI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",VF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",VF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",VF.MPYTHON_ZKAI_SENSOR_OffOn_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%85%B3%E9%97%AD%E6%91%84%E5%83%8F%E5%A4%B4",VF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",VF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",VF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",VF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",VF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",VF.MPYTHON_ZKAI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",VF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",VF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",VF.MPYTHON_ZKAI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",VF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",VF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",VF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",VF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",VF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",VF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%A2%9E%E7%9B%8A%E5%80%BC",VF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",VF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",VF.MPYTHON_ZKAI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",VF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",VF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",VF.MPYTHON_ZKAI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",VF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",VF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追蹤色塊",VF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",VF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追蹤色塊 顯示%1",VF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",VF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1獲取識別後色塊的 所有參數",VF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 x座標",VF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 y座標",VF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1獲取識別後色塊的 寬度",VF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1獲取識別後色塊的 高度",VF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1獲取識別後色塊的 數量",VF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心x座標",VF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心y座標",VF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1獲取識別後色塊的 矩形",VF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 人臉",VF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",VF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 人臉識別",VF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",VF.MPYTHON_ZKAI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)獲取識別後人臉的 所有參數",VF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",VF.MPYTHON_ZKAI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)獲取識別後人臉的 x座標",VF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",VF.MPYTHON_ZKAI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)獲取識別後人臉的 y座標",VF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",VF.MPYTHON_ZKAI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)獲取識別後人臉的 寬度",VF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",VF.MPYTHON_ZKAI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)獲取識別後人臉的 高度",VF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",VF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)獲取識別後人臉的 置信度",VF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",VF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)獲取識別後人臉的 數量",VF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",VF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",VF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",VF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",VF.MPYTHON_ZKAI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",VF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",VF.MPYTHON_ZKAI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 20類",VF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 20類識別",VF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",VF.MPYTHON_ZKAI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)獲取識別後20類的 所有參數",VF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",VF.MPYTHON_ZKAI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)獲取識別後20類的 x座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)獲取識別後20類的 y座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)獲取識別後20類的 寬度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)獲取識別後20類的 高度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)獲取識別後20類的 置信度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)獲取識別後20類的 數量",VF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",VF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)獲取識別後20類的 類型",VF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)獲取識別後20類的 類型數量",VF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",VF.MPYTHON_ZKAI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)選擇訓練模型 手寫數字",VF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",VF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)調用攝像頭進行 手寫數字識別",VF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)獲取識別後手寫數字的 所有參數",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",VF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)獲取識別後手寫數字的 數字",VF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)獲取識別後手寫數字的 置信度",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="获取 识别%1",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="获取 识别 所有参数",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="人脸识别",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",VF.MPYTHON_ZKAI_IMAGE_20CLASS_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",VF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",VF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",VF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",VF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",VF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",VF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",VF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",VF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",VF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",VF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",VF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",VF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",VF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",VF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",VF.MPYTHON_ZKAI_LCD_TEXT_MOST_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",VF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",VF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",VF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",VF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",VF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",VF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",VF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-2%EF%BC%9A-%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",VF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",VF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",VF.MPYTHON_ZKAI_SENSOR_ENABLE_START="開始抓取圖像",VF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取圖像",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平鏡像",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻轉",VF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="對比度",VF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",VF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="飽和度",VF.MPYTHON_ZKAI2_FACE_YOLO="人臉識別",VF.MPYTHON_ZKAI2_CLASS_20_YOLO="20類識別",VF.MPYTHON_ZKAI2_MNIST_NET="数字识别",VF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人臉",VF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="0類",VF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",VF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",VF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",VF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="聲明python 運行環境",VF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",VF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C獲取顔色",VF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",VF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",VF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C獲取 %1",VF.MPYTHON_lARK_RED="紅色",VF.MPYTHON__LARK_GREEN="綠色",VF.MPYTHON__LARK_BLUE="藍色",VF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C獲取HSV",VF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C獲取HSV %1",VF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",VF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C獲取顔色",VF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",VF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="識別 %1",VF.MPYTHON_LARK_RED="紅色",VF.MPYTHON_LARK_GREEN="綠色",VF.MPYTHON_LARK_BLUE="藍色",VF.MPYTHON_LARK_ORANGE="橙色",VF.MPYTHON_LARK_YELLOW="黃色",VF.MPYTHON_LARK_PURPLE="紫色",VF.MPYTHON_LARK_CYAN="青色",VF.MPYTHON_LARK_NONE="無色",VF.MPYTHON_LARK_NULL="無法獲取",VF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",VF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超聲波",VF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",VF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C設置 %1 速度 %2",VF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C獲取 %1 巡綫值",VF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右邊",VF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左邊",VF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循跡傳感器 %1 遇到黑綫",VF.MPYTHON_LARK_SEARCH_LEFT="左邊",VF.MPYTHON_LARK_SEARCH_RIGHT="右邊",VF.MPYTHON_LARK_SEARCH_LEFT2="兩邊都",VF.MPYTHON_LARK_SEARCH_RIGHT2="兩邊都無",VF.MPYTHON_LARK_SEARCH_BOTH="兩邊都",VF.MPYTHON_LARK_SEARCH_NONE="兩邊都無",VF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",VF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里馬獲取顔色",VF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",VF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里馬獲取 %1",VF.MPYTHON_lARK_CAR_RED="紅色",VF.MPYTHON__LARK_CAR_GREEN="綠色",VF.MPYTHON__LARK_CAR_BLUE="藍色",VF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里馬獲取HSV",VF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里馬HSV %1",VF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",VF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里馬識別顔色",VF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",VF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里馬識別顔色 %1",VF.MPYTHON_LARK_CAR_RED="紅色",VF.MPYTHON_LARK_CAR_GREEN="綠色",VF.MPYTHON_LARK_CAR_BLUE="藍色",VF.MPYTHON_LARK_CAR_ORANGE="橙色",VF.MPYTHON_LARK_CAR_YELLOW="黃色",VF.MPYTHON_LARK_CAR_PURPLE="紫色",VF.MPYTHON_LARK_CAR_CYAN="青色",VF.MPYTHON_LARK_CAR_NONE="無識別",VF.MPYTHON_LARK_CAR_NULL="識別錯誤",VF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",VF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里馬獲取超聲波",VF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里馬獲取 %1 循跡數值",VF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右邊",VF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左邊",VF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里馬循跡 %1 碰到黑綫",VF.MPYTHON_LARK_CAR_SEARCH_LEFT="左邊",VF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右邊",VF.MPYTHON_LARK_CAR_SEARCH_LEFT2="兩邊",VF.MPYTHON_LARK_CAR_SEARCH_NONE="兩邊都沒有",VF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",VF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="電機驅動 %1 速度 %2",VF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",VF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里馬 %1 速度 %2",VF.MPYTHON_LARK_CAR_MOTION_LEFT="左轉",VF.MPYTHON_LARK_CAR_MOTION_RIGHT="右轉",VF.MPYTHON_LARK_CAR_MOTION_FORWARD="前進",VF.MPYTHON_LARK_CAR_MOTION_BACKWARD="後退",VF.MPYTHON_LARK_CAR_MOTION_STOP="停止",VF.MPYTHON_DEFINE_THREAD_MESSAGE0="定義線程 %1",VF.MPYTHON_RUN_THREAD_MESSAGE0="運行線程 %1",VF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 轉換數字為bytes %1 %2 %3 %4 待轉換數字 %5",VF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes為數字 %1 %2 %3 %4 待轉換bytes %5",VF.LITTLE_ENDIAN="低字節序(默認)",VF.BIG_ENDIAN="高字節序",VF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[適用2.0板] 當掌控板 %1 時",VF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",VF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向後傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",VF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",VF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被單擊",VF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被雙擊",VF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="墜落",VF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="橫滾角",VF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",VF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",VF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",VF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",VF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",VF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",VF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按鍵 %1 已經按下",VF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",VF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",VF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按鍵 %1 曾經按下",VF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",VF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",VF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按鍵 %1 按下過的次數",VF.MPYTHON2_BUTTON_EVENT_MESSAGE0="當按鍵 %1 被 %2 時",VF.MPYTHON2_BUTTON_EVENT_HELPURL="",VF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",VF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",VF.MPYTHON2_BUTTON_EVENT_RELEASED="松開",VF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",VF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="觸摸鍵 %1 已經按下",VF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",VF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="觸摸鍵 %1 曾經按下",VF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",VF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="觸摸鍵 %1 按下過的次數",VF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",VF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="觸摸鍵 %1 值",VF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",VF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",VF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="觸摸",VF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="釋放",VF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="設置觸摸鍵 %1 閥值為 %2",VF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",VF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",VF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",VF.BLE_UUID_TOOLTIP="",VF.BLE_SETUP_PERIPHERAL_HELPURL="",VF.BLE_SETUP_PERIPHERAL_TOOLTIP="",VF.BLE_SETUP_PERIPHERAL_MESSAGE0="構建 BLE 外圍設備對象 %1 顯示名稱 %2 Service UUID %3",VF.BLE_ADD_CHARACTERISTIC_HELPURL="",VF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",VF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定義 BLE 屬性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",VF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",VF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",VF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外圍設備 %1",VF.BLE_START_BROADCASTING="開始廣播",VF.BLE_STOP_BROADCASTING="停止廣播",VF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",VF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",VF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="讀 BLE 設備的屬性 %1",VF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",VF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",VF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="寫 BLE 設備的屬性 %1 %2 值 %3 Notify %4",VF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",VF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",VF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外圍設備斷開連接",VF.BLE_PERIPHERAL_MAC_HELPURL="",VF.BLE_PERIPHERAL_MAC_TOOLTIP="",VF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外圍設備 MAC地址",VF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",VF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",VF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="當 BLE 與中央設備建立連接時 %1 連接句柄 %2 地址類型 %3 中央設備的MAC地址 %4",VF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",VF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",VF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="當 BLE 設備的屬性值被改寫時 %1 連接句柄 %2 被寫屬性句柄 %3 寫入的數據 %4",VF.BLE_SETUP_CENTERAL_HELPURL="",VF.BLE_SETUP_CENTERAL_TOOLTIP="",VF.BLE_SETUP_CENTERAL_MESSAGE0="構建 BLE 中央設備對象 顯示名稱 %1",VF.BLE_CENTERAL_CONNECT_HELPURL="",VF.BLE_CENTERAL_CONNECT_TOOLTIP="",VF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央設備連接到 %1 %2",VF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",VF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",VF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外圍設備已連接 ?",VF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",VF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",VF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="設定 %1 為 已連接外圍設備 屬性對象 %2 Service UUID %3 Characteristic UUID %4",VF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",VF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",VF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="讀 已連接外圍設備的 屬性 %1 值",VF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",VF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",VF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="寫 已連接外圍設備的 屬性 %1 值 %2",VF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",VF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",VF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="當 已連接外圍設備發起 Notify 通知事件時 %1 屬性的值柄 %2 通知的屬性值 %3",VF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",VF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",VF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已連接的外圍設備 %1",VF.BLE_CENTERAL_CLOSE_HELPURL="",VF.BLE_CENTERAL_CLOSE_TOOLTIP="",VF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央設備 斷開連接",VF.BLE_INFO_NAME="藍牙名稱",VF.BLE_INFO_MAC="MAC地址",VF.BLE_INFO_RSSI="信號強度",VF.BLE_INFO_ADDRTYPE="地址類型",VF.BLE_INFO_ADVTYPE="廣播類型",VF.BLE_INFO_DATA="原始數據(元組)",VF.BLE_SETUP_UART_HELPURL="",VF.BLE_SETUP_UART_TOOLTIP="",VF.BLE_SETUP_UART_MESSAGE0="構建 BLE UART從機 顯示名稱 %1",VF.BLE_UART_IS_CONNECTED_HELPURL="",VF.BLE_UART_IS_CONNECTED_TOOLTIP="",VF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已連接 ?",VF.BLE_UART_ANY_HELPURL="",VF.BLE_UART_ANY_TOOLTIP="",VF.BLE_UART_ANY_MESSAGE0="BLE UART 可讀字節數量",VF.BLE_UART_IRQ_HELPURL="",VF.BLE_UART_IRQ_TOOLTIP="",VF.BLE_UART_IRQ_MESSAGE0="當 BLE UART 接收到數據時 %1 執行 %2",VF.BLE_UART_READ_HELPURL="",VF.BLE_UART_READ_TOOLTIP="從 UART 另一端發送過來的消息",VF.BLE_UART_READ_MESSAGE0="已接收數據",VF.BLE_UART_WRITE_HELPURL="",VF.BLE_UART_WRITE_TOOLTIP="",VF.BLE_UART_WRITE_MESSAGE0="BLE UART 發送字節 %1",VF.BLE_UART_CLOSE_HELPURL="",VF.BLE_UART_CLOSE_TOOLTIP="",VF.BLE_UART_CLOSE_MESSAGE0="BLE UART 斷開連接",VF.BLE_SETUP_UART_MASTER_HELPURL="",VF.BLE_SETUP_UART_MASTER_TOOLTIP="",VF.BLE_SETUP_UART_MASTER_MESSAGE0="構建 BLE UART主機 連接到 %1 %2",VF.BLE_SETUP_HID_HELPURL="",VF.BLE_SETUP_HID_TOOLTIP="",VF.BLE_SETUP_HID_MESSAGE0="構建 BLE HID %1 對象 %2 顯示名稱 %3 電池電量 %4",VF.BLE_HID_MOUSE="鼠標",VF.BLE_HID_KEYBOARD="鍵盤",VF.BLE_HID_CONSUMER="遙控器",VF.BLE_HID_ADVERTISE_HELPURL="",VF.BLE_HID_ADVERTISE_TOOLTIP="",VF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID設備 %1",VF.BLE_HID_CONNECT_EVENT_HELPURL="",VF.BLE_HID_CONNECT_EVENT_TOOLTIP="",VF.BLE_HID_CONNECT_EVENT_MESSAGE0="當 BLE HID設備 連接時",VF.BLE_HID_DISCONNECT_HELPURL="",VF.BLE_HID_DISCONNECT_TOOLTIP="",VF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID設備 斷開連接",VF.BLE_HID_BATTERY_LEVEL_HELPURL="",VF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",VF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID設備 電池電量",VF.BLE_HID_MOUSE_BUTTONS_HELPURL="",VF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",VF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠標鍵 %1",VF.BLE_HID_MOUSE_CLICK_HELPURL="",VF.BLE_HID_MOUSE_CLICK_TOOLTIP="",VF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠標 點擊按鍵 %1",VF.BLE_HID_MOUSE_PRESS_HELPURL="",VF.BLE_HID_MOUSE_PRESS_TOOLTIP="",VF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠標 長按按鍵 %1",VF.BLE_HID_MOUSE_RELEASE_HELPURL="",VF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",VF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠標 釋放按鍵 %1",VF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",VF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",VF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠標 釋放所有按鍵",VF.BLE_HID_MOUSE_MOVE_HELPURL="",VF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光標移動量,範圍 ±127 。\nwheel - 滾輪,範圍 ±127 。",VF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠標 光標移動 %1 X軸移動量 %2 Y軸移動量 %3 滾輪 %4",VF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",VF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",VF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="鍵盤按鍵 %1",VF.BLE_HID_KEYBOARD_SEND_HELPURL="",VF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",VF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 鍵盤 按下按鍵 %1",VF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",VF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",VF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 鍵盤 同時按下按鍵 %1 %2 %3",VF.BLE_HID_KEYBOARD_PRESS_HELPURL="",VF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",VF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 鍵盤 長按按鍵 %1",VF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",VF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",VF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 鍵盤 釋放按鍵 %1",VF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",VF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",VF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 鍵盤 釋放所有按鍵",VF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",VF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",VF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遙控器鍵 %1",VF.BLE_HID_CONSUMER_SEND_HELPURL="",VF.BLE_HID_CONSUMER_SEND_TOOLTIP="",VF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遙控器點擊 %1",VF.BLE_SETUP_IBEACON_HELPURL="",VF.BLE_SETUP_IBEACON_TOOLTIP="",VF.BLE_SETUP_IBEACON_MESSAGE0="構建 BLE iBeacon設備 %1 UUID %2 major %3 minor %4",VF.BLE_IBEACON_ADVERTISE_HELPURL="",VF.BLE_IBEACON_ADVERTISE_TOOLTIP="",VF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon設備 %1",VF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",VF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回電量,單位mV",VF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的電壓值(mV)",VF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",VF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回編碼後的紅外脈沖數據buff",VF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 紅外脈沖任意編碼 %1 載波頻率(Hz) %2 code總數 %3 循環碼位置 %4 code列表 %5 編碼波形數據 %6",VF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",VF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回編碼後的紅外脈沖數據buff\n用戶碼:0~255\n命令碼:0~255",VF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 紅外脈沖NEC編碼 %1 用戶碼 %2 命令碼 %3",VF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",VF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",VF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 發送紅外脈沖數據 %1 %2",VF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只發一次",VF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持續發送",VF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",VF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="當發送重復碼後,使用此函數來停止發送。",VF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止發送紅外脈沖數據",VF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",VF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="學習開始後,需等待4秒,之後返回學習結果。",VF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 開始紅外學習",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 紅外學習有結果 ?",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回學習後的“紅外編碼數據”,須在 learn 函數後使用。",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 學習到的紅外編碼數據",VF.MPYTHON_MLX90615_SET_HELPURL="",VF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接觸測溫傳感器 設置發射系數%1",VF.MPYTHON_MLX90615_SET_TOOLTIP="",VF.MPYTHON_MLX90615_GET_HELPURL="",VF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取系數",VF.MPYTHON_MLX90615_GET_TOOLTIP="",VF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",VF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取測溫",VF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",VF.MPYTHON_MQ135_INIT_HELPURL="",VF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 輸出引腳%1 溫度%2 ℃ 濕度%3 %",VF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 連接擴展板的電源口 V ,GND連接擴展板的地線口 G ,AO輸出連接擴展板的引腳 P0/P1(即選引腳)\nMQ135主要用於檢測空氣中的二氧化碳、酒精、苯、氮氧化物、氨等氣體的濃度",VF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",VF.MPYTHON_MQ135_OPTIONS_HELPURL="",VF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探測到的二氧化碳的百萬分之一(假設只有空氣中的二氧化碳) ppm濃度",VF.MPYTHON_MQ135_GET_RZERO="校正傳感器電阻",VF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正傳感器電阻(校準溫度、濕度)",VF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度",VF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度(校準溫度、濕度)",VF.mpython_gyroscope_get_HELPURL="",VF.mpython_gyroscope_get_MESSAGE0="%1 軸角速度",VF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版適用",VF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",VF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",VF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",VF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",VF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",VF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",VF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",VF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",VF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",VF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="設置角速度範圍,默認為 ±256dps。僅適用於掌控板2.3及以上版本",VF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="設置角速度範圍為 %1",VF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",VF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校準陀螺儀角速度計的3個軸(x,y,z)的角速度值偏差。\n一般情況下無需校準,只有遇到角速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1024dps。\n註意:v2.3版本以後適用",VF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校準角速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4";const kF=VF,wF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"is number",TEXT_IS_ALPHA:"is letter",TEXT_IS_ALNUM:"is mix of numbers and letters",REDO:"Redo",UNDO:"Undo",DELETE_VARIABLE:'Delete "%1" variable',DELETE_VARIABLE_CONFIRMATION:'Delete %1 of the "%2" variable?',CONTROLS_REPEAT_FOREVER:"repeat forever",CONTROLS_REPEAT_FOREVER_TOOLTIP:"Do some statements forever times",TEXT_LIST_START:"create list [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"create tuple (",TEXT_TUPLE_END:")",TEXT_DICT_START:"create dictionary {",TEXT_DICT_END:"}",TEXT_SET_START:"create set {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",TUPLE_CREATE_EMPTY_TITLE:"create empty tuple",DICT_CREATE_EMPTY_TITLE:"create empty dictionary",SET_CREATE_EMPTY_TITLE:"create empty sets",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"tuple",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"dictionary",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"sets",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or rearrange sections to reconfigure this tuple block.",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or rearrange sections to reconfigure this dictionary block.",TUPLE_CREATE_WITH_INPUT_WITH:"create tuple with",DICT_CREATE_WITH_INPUT_WITH:"create dictionary with",SET_CREATE_WITH_INPUT_WITH:"create sets with",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the tuple.",DICT_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the dictionary.",SET_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the sets.",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"ascending",LISTS_SORT_ORDER_DESCENDING:"descending",LISTS_SORT_TITLE:"sort %1 %2 %3",LISTS_SORT_TOOLTIP:"Sort a copy of a list.",LISTS_SORT_TYPE_IGNORECASE:"by letter, ignore case",LISTS_SORT_TYPE_NUMERIC:"by number",LISTS_SORT_TYPE_TEXT:"by letter",labplus_mapping_MESSAGE0:"map %1 from %2 , %3 to %4 , %5",labplus_mapping_TOOLTIP:"Map 10 of 0~100 to 0~200 and return the mapped value",labplus_mapping_HELPURL:"",MPYTHON_OPEN:"on",MPYTHON_CLOSE:"off",MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT:"shift left",MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT:"shift right",MPYTHONBOX_RGB_IMAGE_SHIFT_UP:"shift up",MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN:"shift down",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE:"grayscale",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW:"rainbow",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE:"negate",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT:"invert",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR:"line polar",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR:"log polar",MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE:"grayscale",MPYTHON_AI_SENSOR_PATTERN_COLOR:"color",MPYTHON_AI_SENSOR_ENABLE_START:"start capturing image",MPYTHON_AI_SENSOR_ENABLE_STOP:"stop capturing image",MPYTHON_AI_SENSOR_LEVEL_MI_H:"horizontal mirror",MPYTHON_AI_SENSOR_LEVEL_MI_V:"vertical flip",MPYTHON_AI_SENSOR_SETS_CONTRAST:"contrast",MPYTHON_AI_SENSOR_SETS_BRIGHTNESS:"brightness",MPYTHON_AI_SENSOR_SETS_SATURATION:"saturation",MPYTHON_AI2_FACE_YOLO:"FACE YOLO",MPYTHON_AI2_CLASS_20_YOLO:"CLASS 20 YOLO",MPYTHON_AI_TRACE_COLOR_RECTANGLE:"rectangle",MPYTHON_AI_TRACE_COLOR_CROSS:"cross",TEXT_APPEND_TEXT_HELPURL:"",TEXT_APPEND_TEXT_TOOLTIP:"",TEXT_APPEND_TEXT_MESSAGE0:"%1 append text %2",MPYTHON_AUDIO_PLAY_chirp_MESSAGE0:"鸟叫",MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0:"钢琴黑暗旋律配乐",MPYTHON_AUDIO_PLAY_miaow_MESSAGE0:"猫叫",MPYTHON_AUDIO_PLAY_bark_MESSAGE0:"小狗吠叫",MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0:"浑厚的打击音",MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0:"紧张效果的音效",MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0:"拍照快门声",MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0:"数百只苍蝇",MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0:"蟋蟀叫声",MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0:"摇晃低音声线",MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0:"听众欢呼掌声",MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0:"邮轮汽笛",MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0:"现代电话铃声",MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0:"拔萝卜",MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0:"两只老虎",MPYTHON_AUDIO_SET_VOLUME_HELPURL:"",MPYTHON_AUDIO_SET_VOLUME_MESSAGE0:"set Audio volume as %1",MPYTHON_AUDIO_SET_VOLUME_TOOLTIP:"",MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL:"",MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0:"expansion-board speed of DC motor %1",MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP:"",MPYTHON_M1M2_LED_ON_HELPURL:"",MPYTHON_M1M2_LED_ON_MESSAGE0:"expansion-board set led at %1 brightness %2",MPYTHON_M1M2_LED_ON_TOOLTIP:"",MPYTHON_M1M2_LED_OFF_HELPURL:"",MPYTHON_M1M2_LED_OFF_MESSAGE0:"expansion-board turn off led at %1",MPYTHON_M1M2_LED_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0:"I2C RFID Read wallet data",MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP:"Read block data, length 16 bytes",MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0:"I2C RFID Write wallet data%1",MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP:"Write block data, length 16 bytes",MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0:"I2C RFID wallet%1 money%2",MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0:"Recharge",MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0:"Deduction fee",MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0:"I2C RFID Get wallet balance",MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0:"I2C RFID Get serial number",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0:"I2C RFID Initialize Wallet",MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0:"I2C RFID scanning",MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0:"I2C ultrasonic value",MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP:"",MPYTHON_BLUEBIT_ULTRASONIC_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0:"%1 on pin %2 be triggered",MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP:"",MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0:"%1 on pin %2 analog value",MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP:"",MPYTHON_BLUEBIT_READ_ANALOG_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0:"set LED on pin %2 value as %1",MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP:"",MPYTHON_BLUEBIT_SET_ANALOG_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0:"tracking sensor on pin %1 detected as black",MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP:"",MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_TRUE_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0:"turn on %1 on pin %2",MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FALSE_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0:"turn off %1 on pin %2",MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL:"http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0:"turn on recorder %1 %2 REC %3 PLAY %4",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL:"http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0:"turn off recorder %1 REC %2 PLAY %3",MPYTHON_BLUEBIT_VOICE_RECORD_PLAY:"PLAY",MPYTHON_BLUEBIT_VOICE_RECORD_REC:"REC",STOP:("STOP","STOP"),MPYTHON_BLUEBIT_IR_RECEIVE:"infrared detection",MPYTHON_BLUEBIT_SOUND:"microphone",MPYTHON_BLUEBIT_LINE_FOLLOWER:"tracking sensor",MPYTHON_BLUEBIT_VIBRATION:"vibration sensor",MPYTHON_BLUEBIT_RFID:"RF card",MPYTHON_BLUEBIT_FINGERPRINT_SCANNER:"fingerprint scanner",MPYTHON_BLUEBIT_PIR:"PIR sensor",MPYTHON_BLUEBIT_MAGNETIC:"magnetic switch",MPYTHON_BLUEBIT_BUTTON:"button",MPYTHON_BLUEBIT_RELAY:"relay",MPYTHON_BLUEBIT_LIMIT_SWITCH:"limit switch",MPYTHON_BLUEBIT_FAN:"fan",MPYTHON_BLUEBIT_LASER:"laser",MPYTHON_BLUEBIT_NTC_TEMP:"NTC temperature",MPYTHON_BLUEBIT_WATER:"water level",MPYTHON_BLUEBIT_SOIL_MOISTURE:"soil moisture",MPYTHON_BLUEBIT_ROTATE_DIMMER:"rotate dimmer",MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER:"sliding potentiometer",MPYTHON_BLUEBIT_ANALOG_LIGHT:"analog light",MPYTHON_BLUEBIT_LM35_TEMP:"LM35 temperature",MPYTHON_BLUEBIT_SMOKE:"smoke",MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE:"corotation",MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE:"reverse",MPYTHON_BLUEBIT_READ_SOIL_HELPURL:"",MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP:"New soil moisture",MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0:"soil moisture(new)%1",MPYTHON_BLUEBIT_MOTOR_ON_HELPURL:"http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP:"speed:Map -100~100 to -1023~1023",MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0:"turn on DC motor %1 speed %2 pin AIN1 %3 pin AIN2 %4",MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL:"http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0:"stop DC motor %1 pin AIN1 %2 pin AIN2 %3",MPYTHON_BLUEBIT_SET_FAN_HELPURL:"",MPYTHON_BLUEBIT_SET_FAN_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FAN_MESSAGE0:"expansion-board turn on the fan %1",MPYTHON_LEFT:"LEFT",MPYTHON_RIGHT:"RIGHT",MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL:"",MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0:"expansion-board turn off the fan %1",MPYTHON_BLUEBIT_4BUTTON_HELPURL:"http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",MPYTHON_BLUEBIT_4BUTTON_TOOLTIP:"",MPYTHON_BLUEBIT_4BUTTON_MESSAGE0:"Navigation button module pin %1 button %2 is pressed",BLUE:"A",GREEN:"B",RED:"C",YELLOW:"D",MPYTHON_BLUEBIT_JOYSTICK_HELPURL:"",MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP:"",MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0:"Thumb joystick pin A0 %1 pin A1 %2 %3 axis",MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP:"speed: 0~100",MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0:"expansion-board turn on DC motor %1 %2 speed %3",MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL:"",MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP:"speed: 0~100",MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0:"expansion-board stop DC motor",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP:"speed: -1023~1023",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0:"Coded motor mode%1 dial code%2 M1 speed%3 M2 speed%4",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP:"Stop Coding Motor Rotation",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0:"Stop Coding Motor Rotation %1",MPYTHON_BLUEBIT_INIT_MIDI_HELPURL:"",MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0:"Initialize MIDI TX pin %1",MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP:"",MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL:"",MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0:"Set MIDI volume as %1",MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP:"volume range:0~127",MIDI_PIANO:"ACOUSTIC GRAND PIANO",MIDI_BRIGHTACOUSTICPIANO:"BRIGHT ACOUSTIC PIANO",MIDI_ELECTRICGRANDPIANO:"ELECTRIC GRAND PIANO",MIDI_HARPSICHORD:"HARPSICHORD",MIDI_CELESTA:"CELESTA",MIDI_GLOCKENSPIEL:"GLOCKENSPIEL",MIDI_MUSICALBOX:"MUSICAL BOX",MIDI_MARIMBA:"MARIMBA",MIDI_XYLOPHONE:"XYLOPHONE",MIDI_TUBULARBELL:"TUBULAR BELL",MIDI_DULCIMER:"DULCIMER",MIDI_VIBRAPHONE:"VIBRAPHONE",MIDI_ORGAN:"DRAWBAR ORGAN",MIDI_ACOUSTIC_GUITAR:"ACOUSTIC GUITAR",MIDI_ELECTRIC_GUITAR:"ELECTRIC GUITAR",MIDI_ACOUSTIC_BASS:"ACOUSTIC BASS",MIDI_STRING_ENSEMBLE:"STRING ENSEMBLE",MIDI_VIOLIN:"VIOLIN",MIDI_TRUMPET:"TRUMPET",MIDI_SAX:"SAX",MIDI_STEEL_DRUMS:"STEEL DRUMS",MIDI_LEAD:"LEAD",MIDI_PAD:"PAD",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL:"",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0:"Set MIDI instrument as %1",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP:"",MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL:"",MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0:"MIDI %1 tone %2",MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0:"Set matrix`s brightness level as %1",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP:"brightness level:0~15",MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0:"Set matrix %1",MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0:"Set matrix %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0:"The setting of matrix takes effect",MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP:"",MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL:"",MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0:"Set MP3 volume as %1",MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP:"volume:0~30",MPYTHON_BLUEBIT_MP3_INIT_HELPURL:"",MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0:"Init MP3 TX pin %1",MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP:"The tx pin of the mPython board is connected to the RXI pin of the music module",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL:"",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0:"MP3 volume %1",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP:"",MPYTHON_PLUS_1:"plus 1",MPYTHON_MINUS_1:"minus 1",MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL:"",MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0:"Mp3 plays song with order %1",MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP:"",PAUSE:"PAUSE",PLAY:"GO ON",PLAYNEXT:"NEXT SONG",PLAYPREV:"LAST SONG",MPYTHON_BLUEBIT_MP3_CMD_HELPURL:"",MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0:"MP3 play %1",MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP:"",LABPLUS_USB_SWITCH_ON:"ON",LABPLUS_USB_SWITCH_OFF:"OFF",MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL:"",MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0:"MP3 single-loop mode %1",MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP:"",MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0:"Set EXT IO module`s IO %2 as %1",MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP:"IO: 0~7",LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT:"OUTPUT",LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT:"INPUT",MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0:"Value of EXT IO at IO %1",MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP:"",MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0:"Set EXT IO module`s IO %2 as %1",MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP:"",MPYTHON_LCD_OBJECT_HELPURL:"",MPYTHON_LCD_OBJECT_MESSAGE0:"initialise LCD1602",MPYTHON_LCD_OBJECT_TOOLTIP:"",MPYTHON_LCD_PRINT_HELPURL:"",MPYTHON_LCD_PRINT_MESSAGE0:"LCD1602 display %1",MPYTHON_LCD_PRINT_TOOLTIP:"",MPYTHON_LCD_HOME_HELPURL:"",MPYTHON_LCD_HOME_MESSAGE0:"LCD1602 cursor returns to the origin",MPYTHON_LCD_HOME_TOOLTIP:"",MPYTHON_LCD_CURSOR_HELPURL:"",MPYTHON_LCD_CURSOR_MESSAGE0:"LCD1602 cursor %1",MPYTHON_LCD_CURSOR_TOOLTIP:"",MPYTHON_LCD_SET_CURSOR_HELPURL:"",MPYTHON_LCD_SET_CURSOR_MESSAGE0:"LCD1602 starts with row %2 column %1",MPYTHON_LCD_SET_CURSOR_TOOLTIP:"Row and column count from 0",MPYTHON_LCD_CLEAR_HELPURL:"",MPYTHON_LCD_CLEAR_MESSAGE0:"LCD1602 clear",MPYTHON_LCD_CLEAR_TOOLTIP:"",MPYTHON_LCD_CURSOR_BLINK:"BLINK",MPYTHON_LCD_CURSOR_NO_BLINK:"NO BLINK",MPYTHON_LEFT_TO_RIGHT:"LEFT TO RIGHT",MPYTHON_RIGHT_TO_LEFT:"RIGHT TO LEFT",MPYTHON_LCD_TEXT_DIRECTION_HELPURL:"",MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0:"LCD1602 text direction %1",MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP:"",MPYTHON_LCD_MOVE_HELPURL:"",MPYTHON_LCD_MOVE_MESSAGE0:"LCD1602 scrolls a column to %1",MPYTHON_LCD_MOVE_TOOLTIP:"",MPYTHON_IR_TRANS_HELPURL:"",MPYTHON_IR_TRANS_MESSAGE0:"infrared transmission of string with one byte length %1 tx pin %2",MPYTHON_IR_TRANS_TOOLTIP:"string with one byte length: 'A', 'b', '1' and so on",OUTPUT_PIN_HELPURL:"",OUTPUT_PIN_MESSAGE0:"%1",OUTPUT_PIN_TOOLTIP:"",INPUT_PIN_HELPURL:"",INPUT_PIN_MESSAGE0:"%1",INPUT_PIN_TOOLTIP:"",READ_ANALOG_PIN_HELPURL:"",READ_ANALOG_PIN_MESSAGE0:"%1",READ_ANALOG_PIN_TOOLTIP:"",SET_DIGITAL_HELPURL:"",SET_DIGITAL_MESSAGE0:"%1",SET_DIGITAL_TOOLTIP:"",SET_ANALOG_HELPURL:"",SET_ANALOG_MESSAGE0:"%1",SET_ANALOG_TOOLTIP:"",ALL_PIN_HELPURL:"",ALL_PIN_MESSAGE0:"%1",ALL_PIN_TOOLTIP:"",PWM_PIN_HELPURL:"",PWM_PIN_MESSAGE0:"%1",PWM_PIN_TOOLTIP:"",DH11_HUM_TEM_PIN_HELPURL:"",DH11_HUM_TEM_PIN_MESSAGE0:"%1",DH11_HUM_TEM_PIN_TOOLTIP:"",UART_TX_PIN_HELPURL:"",UART_TX_PIN_MESSAGE0:"%1",UART_TX_PIN_TOOLTIP:"",UART_RX_PIN_HELPURL:"",UART_RX_PIN_MESSAGE0:"%1",UART_RX_PIN_TOOLTIP:"",I2C_PIN_HELPURL:"",I2C_PIN_MESSAGE0:"%1",I2C_PIN_TOOLTIP:"",MQTT_COMMON_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_COMMON_SETUP_MESSAGE0:"MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",MQTT_COMMON_SETUP_TOOLTIP:"",MQTT_TENCENT_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_TENCENT_SETUP_MESSAGE0:"MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8",MQTT_TENCENT_SETUP_TOOLTIP:"",MQTT_TENCENT_SETUPS_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_TENCENT_SETUPS_MESSAGE0:"MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8",MQTT_TENCENT_SETUPS_TOOLTIP:"",MQTT_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_SETUP_MESSAGE0:"MQTT-Easy IoT %1 Server %2 Client ID %5 Iot_id %3 Iot_pwd %4",MQTT_SETUP_TOOLTIP:"",MQTT_CONNECT_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_CONNECT_MESSAGE0:"connect to MQTT",MQTT_CONNECT_TOOLTIP:"",MQTT_PUBLISH_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_PUBLISH_MESSAGE0:"publish %1 to topic %2",MQTT_PUBLISH_TOOLTIP:"",MQTT_REC_FROM_TOPIC_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_REC_FROM_TOPIC_MESSAGE0:"when recieved %2 from topic %1",MQTT_REC_FROM_TOPIC_TOOLTIP:"",MQTT_RECEIVE_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_RECEIVE_MESSAGE0:"when recieved %2 from topic %1",MQTT_RECEIVE_TOOLTIP:'Parameter "topic" only accepts variable',MQTT_RECEIVED_MESSAGE0:"when recieved message from topic %1",MQTT_MESSAGE_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_MESSAGE_MESSAGE0:"message from MQTT",MQTT_MESSAGE_TOOLTIP:"",MQTT_WAIT_MSG_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_WAIT_MSG_MESSAGE0:"wait for topic message in %1 mode",MQTT_WAIT_MSG_TOOLTIP:"It is recommended to run in 'while True'",MQTT_DISCONNECT_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_DISCONNECT_MESSAGE0:"disconnect from MQTT",MQTT_DISCONNECT_TOOLTIP:"",MQTT_LAST_WILL_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",MQTT_LAST_WILL_MESSAGE0:"set MQTT topic %2 last will message as %1",MQTT_LAST_WILL_TOOLTIP:'Set the MQTT "last will" message. Should be called before connect().',MPYTHON_SIOT_CONNECT_HELPURL:"",MPYTHON_SIOT_CONNECT_TOOLTIP:"",MPYTHON_SIOT_CONNECT_MESSAGE0:"SIoT setting %1 client_id %2 server %3 user %4 password %5",MPYTHON_SIOT_ISCONNECTED_HELPURL:"",MPYTHON_SIOT_ISCONNECTED_TOOLTIP:"",MPYTHON_SIOT_ISCONNECTED_MESSAGE0:"SIoT is connected ?",MPYTHON_SIOT_SUBSCRIBE_HELPURL:"",MPYTHON_SIOT_SUBSCRIBE_TOOLTIP:"",MPYTHON_SIOT_SUBSCRIBE_MESSAGE0:"SIoT subscribe",MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE:"click the left star to subscribe SIoT topic",MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH:"subscribe SIoT Topic1",MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE:"Topic",MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP:"",MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD:"add up to 5 topics",MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP:"",MPYTHON_SIOT_DISCONNECT_HELPURL:"",MPYTHON_SIOT_DISCONNECT_TOOLTIP:"",MPYTHON_SIOT_DISCONNECT_MESSAGE0:"SIoT disconnect",MPYTHON_SIOT_MESSAGE_HELPURL:"",MPYTHON_SIOT_MESSAGE_TOOLTIP:"",MPYTHON_SIOT_MESSAGE_MESSAGE0:"SIoT message",MPYTHON_SIOT_TOPIC1:"Topic1",MPYTHON_SIOT_TOPIC2:"Topic2",MPYTHON_SIOT_TOPIC3:"Topic3",MPYTHON_SIOT_TOPIC4:"Topic4",MPYTHON_SIOT_TOPIC5:"Topic5",MPYTHON_SIOT_PUBLISH_HELPURL:"",MPYTHON_SIOT_PUBLISH_TOOLTIP:"",MPYTHON_SIOT_PUBLISH_MESSAGE0:"SIoT publish message %1 to %2",MPYTHON_SIOT_PUBLISH_TO_MESSAGE0:"SIoT publish message %1 to topic %2",MPYTHON_SIOT_RECEIVE_HELPURL:"",MPYTHON_SIOT_RECEIVE_TOOLTIP:"",MPYTHON_SIOT_RECEIVE_MESSAGE0:"when SIoT received message from %1 %2 do %3",MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0:"when SIoT received message from topic %1 %2 do %3",MPYTHON_IR_RECV_HELPURL:"",MPYTHON_IR_RECV_MESSAGE0:"infrared received int at rx pin %1",MPYTHON_IR_RECV_TOOLTIP:"The first time the receive is always empty",MPYTHON_BLUEBIT_OLED_PRINT_HELPURL:"",MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0:"bluebit OLED show %1 at x %2 y %3",MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_INIT_HELPURL:"",MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0:"bluebit OLED init at tx %1 rx %2",MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL:"",MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0:"bluebit OLED clear",MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_BMP_HELPURL:"",MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0:"bluebit OLED show image x %1 y %2 width %3 height %4 with hex image data %5",MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP:"",MICROBIT_GESTURE_SHAKE:"shake",MICROBIT_GESTURE_UP:"up",MICROBIT_GESTURE_DOWN:"down",MICROBIT_GESTURE_LEFT:"left",MICROBIT_GESTURE_RIGHT:"Right",MICROBIT_GESTURE_FACE_UP:"upward",MICROBIT_GESTURE_FACE_DOWN:"down",MICROBIT_GESTURE_FREEFAIL:"free fall",MICROBIT_IMAGE_HEART:"heart",MICROBIT_IMAGE_HEART_SMALL:"heart (small)",MICROBIT_IMAGE_HAPPY:"Happy",MICROBIT_IMAGE_SMILE:"Smile Face",MICROBIT_IMAGE_SAD:"sad",MICROBIT_IMAGE_CONFUSED:"confusion",MICROBIT_IMAGE_ANGRY:"angry",MICROBIT_IMAGE_ASLEEP:"Sleep",MICROBIT_IMAGE_SUPRISED:"surprise",MICROBIT_IMAGE_SILLY:"Stupid",MICROBIT_IMAGE_FABULOUS:"Wonderful",MICROBIT_IMAGE_MEH:"Boredom",MICROBIT_IMAGE_YES:"Yes",MICROBIT_IMAGE_NO:"No",MICROBIT_IMAGE_CLOCK12:"12 clock",MICROBIT_IMAGE_CLOCK11:"11 clock",MICROBIT_IMAGE_CLOCK10:"10 clock",MICROBIT_IMAGE_CLOCK9:"9 clock",MICROBIT_IMAGE_CLOCK8:"8 clock",MICROBIT_IMAGE_CLOCK7:"7 clock",MICROBIT_IMAGE_CLOCK6:"6 clock",MICROBIT_IMAGE_CLOCK5:"5 clock",MICROBIT_IMAGE_CLOCK4:"4 clock",MICROBIT_IMAGE_CLOCK3:"3 clock",MICROBIT_IMAGE_CLOCK2:"2 clock",MICROBIT_IMAGE_CLOCK1:"1 clock",MICROBIT_IMAGE_ARROW_N:"Arrow-North",MICROBIT_IMAGE_ARROW_NE:"Arrow-Northeast",MICROBIT_IMAGE_ARROW_E:"arrow-east",MICROBIT_IMAGE_ARROW_SE:"arrow-southeast",MICROBIT_IMAGE_ARROW_S:"Arrow-South",MICROBIT_IMAGE_ARROW_SW:"arrow-southwest",MICROBIT_IMAGE_ARROW_W:"Arrow-West",MICROBIT_IMAGE_ARROW_NW:"Arrow-Northwest",MICROBIT_IMAGE_TRIANGLE:"triangle",MICROBIT_IMAGE_TRIANGLE_LEFT:"left triangle",MICROBIT_IMAGE_CHESSBOARD:"chessboard",MICROBIT_IMAGE_DIAMOND:"diamond",MICROBIT_IMAGE_DIAMOND_SMALL:"diamond (small)",MICROBIT_IMAGE_SQUARE:"square",MICROBIT_IMAGE_SQUARE_SMALL:"Square (small)",MICROBIT_IMAGE_RABBIT:"Rabbit",MICROBIT_IMAGE_COW:"cow",MICROBIT_IMAGE_MUSIC_CROTCHET:"quarter note",MICROBIT_IMAGE_MUSIC_QUAVER:"octave",MICROBIT_IMAGE_MUSIC_QUAVERS:"tremolo",MICROBIT_IMAGE_PITCHFORK:"fork",MICROBIT_IMAGE_XMAS:"Christmas Tree",MICROBIT_IMAGE_PACMAN:"Bean Eater",MICROBIT_IMAGE_TARGET:"target",MICROBIT_IMAGE_TSHIRT:"T-shirt",MICROBIT_IMAGE_ROLLERSKATE:"Roller Skating",MICROBIT_IMAGE_DUCK:"duck",MICROBIT_IMAGE_HOUSE:"House",MICROBIT_IMAGE_TORTOISE:"tortoise",MICROBIT_IMAGE_BUTTERFLY:"Butterfly",MICROBIT_IMAGE_STICKFIGURE:"line drawing",MICROBIT_IMAGE_GHOST:"Ghost",MICROBIT_IMAGE_SWORD:"Sword",MICROBIT_IMAGE_GIRAFFE:"Giraffe",MICROBIT_IMAGE_SKULL:"Head",MICROBIT_IMAGE_UMBRELLA:"umbrella",MICROBIT_IMAGE_SNAKE:"snake",MICROBIT_IMAGE_ALL_CLOCKS:"All Clocks",MICROBIT_IMAGE_ALL_ARROWS:"All arrows",mpython_bme280_hum_tem_pre_MESSAGE0:("Meteorological %1","%1"),mpython_bme280_hum_tem_pre_TOOLTIP:("%","Air pressure unit is 'Pa', temperature unit is 'Celsius', ambient humidity unit is '%'"),mpythonbox_sound_MESSAGE0:"Sound value",mpythonbox_sound_TOOLTIP:"0~4095。",mpythonbox_sound_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",MPYTHONBOX_SLIDER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_SLIDER_MESSAGE0:"Slide bar",MPYTHONBOX_SLIDER_TOOLTIP:"0~4095。",MPYTHONBOX_5BUTTON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_5BUTTON_MESSAGE0:"Five way button%1",MPYTHONBOX_5BUTTON_TOOLTIP:"",MPYTHONBOX_MOTOR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_MOTOR_MESSAGE0:"Motor speed%1",MPYTHONBOX_MOTOR_TOOLTIP:"",MPYTHONBOX_ULTRASONIC_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",MPYTHONBOX_ULTRASONIC_MESSAGE0:"Ultrasonic",MPYTHONBOX_ULTRASONIC_TOOLTIP:"3~340CM",MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0:"Human body infrared",MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP:"",MPYTHONBOX_RGB_pixel_HELPURL:"",MPYTHONBOX_RGB_pixel_MESSAGE0:"Set column%1 line%2 R%3 G%4 B%5",MPYTHONBOX_RGB_pixel_TOOLTIP:"",MPYTHONBOX_RGB_get_pixel_HELPURL:"",MPYTHONBOX_RGB_get_pixel_MESSAGE0:"Returns the RGB color of column%1, line%2",MPYTHONBOX_RGB_get_pixel_TOOLTIP:"",MPYTHONBOX_RGB_ImageText_HELPURL:"",MPYTHONBOX_RGB_ImageText_MESSAGE0:"Scroll Display Text%1 Speed%2",MPYTHONBOX_RGB_ImageText_TOOLTIP:"",MPYTHONBOX_RGB_SetImage_HELPURL:("",""),MPYTHONBOX_RGB_SetImage_TOOLTIP:("",""),MPYTHONBOX_RGB_SetImage_MESSAGE0:("Create image %1 row1 %2 row2 %3 row3 %4 row4 %5 row5 %6","Create an image %1 The first line%2, the second line%3, the third line%4, the fourth line%5, the fifth line%6"),MPYTHONBOX_RGB_Image_HELPURL:"",MPYTHONBOX_RGB_Image_MESSAGE0:"According to the image%1",MPYTHONBOX_RGB_Image_TOOLTIP:"According to the image",MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0:"Display image/text %1",MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP:"",MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL:"",MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0:"Display image %1",MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP:"Display image。",MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL:"",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0:"Copy image %1",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP:"Copy image",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL:"",MPYTHONBOX_RGB_ImageCot_HELPURL:"",MPYTHONBOX_RGB_ImageCot_MESSAGE0:"Cut image%1 column%2 rows%3 width%4 high%5",MPYTHONBOX_RGB_ImageCot_TOOLTIP:"Cut image",MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0:"Built in image %1",MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP:"Select a built-in image.",MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL:"",MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0:"Translation image %1 %2 %3 ",MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP:"Move the image in a specific direction and return the result of the move.",MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL:"",MPYTHONBOX_RGB_clear_HELPURL:"",MPYTHONBOX_RGB_clear_MESSAGE0:"Turn off all RGB",MPYTHONBOX_RGB_clear_TOOLTIP:"",MPYTHONBOX_RGB_pixel_return_HELPURL:"",MPYTHONBOX_RGB_pixel_return_MESSAGE0:"Return %1 column %2 line colour",MPYTHONBOX_RGB_pixel_return_TOOLTIP:"Return to the number of columns, row RGB color",MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0:"%1Triaxial acceleration",MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP:"Unit g, range-2~+2g。",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0:"%1Triaxial angular velocity",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP:"range±500°/seconds",MPYTHONBOX_EULER_ANGLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_EULER_ANGLE_MESSAGE0:"%1Euler Angle",MPYTHONBOX_EULER_ANGLE_TOOLTIP:"Returns the current euler Angle(Pitch,Roll,Yaw),Unit Angle",MPYTHONBOX_QUATERNION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_QUATERNION_MESSAGE0:"%1quaternions",MPYTHONBOX_QUATERNION_TOOLTIP:"Returns the current quaternion(w,x,y,z)",MPYTHONBOX_CAMERA_LED_HELPURL:"",MPYTHONBOX_CAMERA_LED_MESSAGE0:"camear light %1",MPYTHONBOX_CAMERA_LED_TOOLTIP:"",LIST_FIRST_INDEX_HELPURL:"",LIST_FIRST_INDEX_MESSAGE0:"Location of item%1 in list%2 %3",LIST_FIRST_INDEX_TOOLTIP:"",MPYTHON_AI_LCD_INIT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",MPYTHON_AI_LCD_INIT_MESSAGE0:"Screen Initialization ",MPYTHON_AI_LCD_INIT_TOOLTIP:"",MPYTHON_AI_SENSOR_RESET_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",MPYTHON_AI_SENSOR_RESET_MESSAGE0:"Initialize the camera",MPYTHON_AI_SENSOR_RESET_TOOLTIP:"",MPYTHON_AI_SENSOR_ENABLE_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",MPYTHON_AI_SENSOR_ENABLE_MESSAGE0:"Camera%1",MPYTHON_AI_SENSOR_ENABLE_TOOLTIP:"",MPYTHON_AI_LCD_TEXT_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",MPYTHON_AI_LCD_TEXT_MESSAGE0:"Display text x %1 y %2 content %3",MPYTHON_AI_LCD_TEXT_TOOLTIP:"",MPYTHON_AI_SENSOR_SKIP_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",MPYTHON_AI_SENSOR_SKIP_MESSAGE0:"The number of frames skipped by the camera %1 Millisecond %2 ",MPYTHON_AI_SENSOR_SKIP_TOOLTIP:"",MPYTHON_AI_SENSOR_RETURN_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",MPYTHON_AI_SENSOR_RETURN_MESSAGE0:"测 摄像头 获取%1",MPYTHON_AI_SENSOR_RETURN_TOOLTIP:"",MPYTHON_AI_SENSOR_SETS_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",MPYTHON_AI_SENSOR_SETS_MESSAGE0:"Camera set %1 as %2",MPYTHON_AI_SENSOR_SETS_TOOLTIP:"",MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0:"Automatic gain of camera%1",MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP:"",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0:"Camera White Balance%1",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP:"",MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0:"Camera %1 %2",MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP:"",MPYTHON_AI_LCD_DISPLAY_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_DISPLAY_MESSAGE0:"Screen display takes effect",MPYTHON_AI_LCD_DISPLAY_TOOLTIP:"",MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0:"Image display takes effect x%1 y%2 wide%3 high%4",MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP:"",MPYTHON_AI_SENSOR_IMAGES_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",MPYTHON_AI_SENSOR_IMAGES_MESSAGE0:"Camera captures images",MPYTHON_AI_SENSOR_IMAGES_TOOLTIP:"",MPYTHON_AI_IMAGE_FACEDETECT_HELPURL:"https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0:"Face recognition",MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_REC_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_REC_MESSAGE0:"Rectangular%1 x%3 y%4 width%5 high%6 color R%7 G%8 B%9 coarsening%2",MPYTHON_AI_LCD_SHOW_REC_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0:"line x1%1 y1%2 reachx2%3 y2%4 Color isR%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_STRING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0:"Clear screen display",MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP:"",MPYTHON_AI_LCD_CLEAR_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_return_colour_MESSAGE0:"LCD Return x%1 y%2 colour",MPYTHON_AI_LCD_return_colour_TOOLTIP:"",MPYTHON_AI_LCD_return_colour_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0:"circular%1 x%2 y%3 radius%4 colour R%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_TEXT_MOST_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0:"Display text x %1 y %2 content %3 colourR%4 G%5 B%6 size%7",MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0:"Cross line x%1 y%2 colourR%3 G%4 B%5 size%6 Thickening%7",MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0:"Arrow x1%1 y1%2 x2%3 y2%4 colourR%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL:".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0:"Display image path%1",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0:"Image conversion to%1",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0:"Image from Cartesian coordinates to%1 Reprojection of coordinates %2",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0:"Image Expansion Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0:"Image Point Filtering Level%1 Wave filtering%2",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0:"Image Modal Filtering Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0:"Image Fuzzy Filtering Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0:"Image Cartoonization Level%1 Initial Pixel Difference%2 Adjacent pixel difference%3",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0:"Image 3D Rotation Up and Down%1 Rotate left and right%2 degrees%3 or so move%4 up and down move%5 zoom%6",MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0:"Save a copy of the image to the SD card image name%1 Image display area x%2 y%3 wide%4 high%5",MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0:"Create a copy of the image object to copy the image area x%1 y%2 wide%3 high%4",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP:"",MPYTHON_AI2_20CLASS_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_20CLASS_TRACKING_MESSAGE0:"20 kinds of recognition",MPYTHON_AI2_20CLASS_TRACKING_TOOLTIP:"",MPYTHON_AI2_NUMBER_DISCERN_HELPURL:("https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model","https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model"),MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0:("Handwritten Number Recognition",'set the training model to "Number ID"'),MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP:("","Select training model handwritten numerals"),MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0:"screen x%1 y%2 Display color R%3 G%4 B%5",MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP:"",MPYTHON_AI_LCD_COLOUR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",MPYTHON_AI_LCD_COLOUR_MESSAGE0:"Screen Initialization Display Color R%1 G%2 B%3",MPYTHON_AI_LCD_COLOUR_TOOLTIP:"",MPYTHON_AI_SENSOR_PATTERN_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",MPYTHON_AI_SENSOR_PATTERN_MESSAGE0:"Initialize the camera, set pixel mode as %1",MPYTHON_AI_SENSOR_PATTERN_TOOLTIP:"",MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL:("",""),MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0:("Tracking color display%1","Trace color display%1"),MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP:("",""),MPYTHON_AI2_FACE_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_FACE_TRACKING_MESSAGE0:'set the training model to "Face ID"',MPYTHON_AI2_FACE_TRACKING_TOOLTIP:"It can recognize and track faces, display face size and so on",MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0:'call the camera for "Face ID"',MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP:"It can recognize and track faces, display face size and so on",MPYTHON_AI2_RESULT_FACE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_MESSAGE0:'get the recognition result of "Face ID"',MPYTHON_AI2_RESULT_FACE_TOOLTIP:"After acquisition and identification All the parameters",MPYTHON_AI2_RESULT_FACE_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_X_MESSAGE0:'get the X coordinate of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_X_TOOLTIP:"After acquisition and identification x coordinates",MPYTHON_AI2_RESULT_FACE_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0:'get the Y coordinate of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP:"After acquisition and identification y coordinates",MPYTHON_AI2_RESULT_FACE_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_W_MESSAGE0:'get the width of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_W_TOOLTIP:"After acquisition and identification width",MPYTHON_AI2_RESULT_FACE_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_H_MESSAGE0:'get the height of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_H_TOOLTIP:"After acquisition and identification height",MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0:'get the confidence of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP:"After acquisition and identification Confidence",MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0:'get the object count of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP:"After acquisition and identification number",MPYTHON_AI2_20class_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_20class_TRACKING_MESSAGE0:'set the training model to "20 Class ID"',MPYTHON_AI2_20class_TRACKING_TOOLTIP:"Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV",MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0:'call the camera for "20 Class ID"',MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP:"",MPYTHON_AI2_RESULT_20CLASS_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_MESSAGE0:'get the recognition result of "20 Class ID"',MPYTHON_AI2_RESULT_20CLASS_TOOLTIP:"After acquisition and identification All the parameters",MPYTHON_AI2_RESULT_20CLASS_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0:'get the X coordinate of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP:"After acquisition and identification x coordinates",MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0:'get the Y coordinate of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP:"After acquisition and identification y coordinates",MPYTHON_AI2_RESULT_20CLASS_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0:'get the width of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP:"After acquisition and identification width",MPYTHON_AI2_RESULT_20CLASS_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0:'get the height of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP:"After acquisition and identification height",MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0:'get the confidence of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP:"After acquisition and identification Confidence",MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0:'get the object count of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP:"After acquisition and identification number",MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0:'get the type name of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP:"Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV",MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0:'get the type count of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP:"After acquisition and identification type number",MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0:'call the camera for "Number ID"',MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP:"Call camera identification",MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0:'get the recognition result of "Number ID"',MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP:"Handwritten digit recognition parameters",MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0:'get the digital of the "Number ID" result',MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP:"Handwritten digits recognize Numbers",MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0:'get the confidence of the "Number ID" result',MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP:"Handwritten digit recognition digital confidence",MPYTHON_AI_TRACE_COLOR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",MPYTHON_AI_TRACE_COLOR_MESSAGE0:"Trace color block LAB color %1 bounding box less than %2 pixels less than %3 filter",MPYTHON_AI_TRACE_COLOR_TOOLTIP:"Track the color piece",MPYTHON_AI_BLOB_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_ALL_MESSAGE0:"%1Color piece block all parameters",MPYTHON_AI_BLOB_ALL_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_X_MESSAGE0:"%1Color piece x coordinates",MPYTHON_AI_BLOB_X_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_Y_MESSAGE0:"%1Color piece y coordinates",MPYTHON_AI_BLOB_Y_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_W_MESSAGE0:"%1Color piece width",MPYTHON_AI_BLOB_W_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_H_MESSAGE0:"%1Color piece height",MPYTHON_AI_BLOB_H_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_NUMBER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_NUMBER_MESSAGE0:"%1Color piece number",MPYTHON_AI_BLOB_NUMBER_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_CENTER_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_CENTER_X_MESSAGE0:"%1Color piece center x coordinates",MPYTHON_AI_BLOB_CENTER_X_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_CENTER_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0:"%1Color piece center y coordinates",MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_ORTHOGON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0:"%1Color piece rectangular",MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_DRILL_WEIGHT_MESSAGE0:"Initialize training%1",MPYTHON_DRILL_WEIGHT_TOOLTIP:"",MPYTHON_DRILL_WEIGHT_HELPURL:"",MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL:"",MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0:"Instantiate the linear regression line",MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP:"",MPYTHON_DRILL_TITLE_HELPURL:"",MPYTHON_DRILL_TITLE_MESSAGE0:" title%1 size%2",MPYTHON_DRILL_TITLE_TOOLTIP:"",MPYTHON_DRILL_LABEL_HELPURL:"",MPYTHON_DRILL_LABEL_MESSAGE0:"label%1 title%2 size%3",MPYTHON_DRILL_LABEL_TOOLTIP:"",MPYTHON_DRILL_DRILL_REALITY_HELPURL:"",MPYTHON_DRILL_DRILL_REALITY_MESSAGE0:"Real data lines Sign marks%1 The color of r%2 g%3 b%4 title%5",MPYTHON_DRILL_DRILL_REALITY_TOOLTIP:"",MPYTHON_DRILL_PREDICTED_REALITY_HELPURL:"",MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0:"Predict linear regression lines Sign marks%1 The color of r%2 g%3 b%4 title%5",MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP:"",MPYTHON_DRILL_LEGEND_HELPURL:"",MPYTHON_DRILL_LEGEND_MESSAGE0:"Show legend",MPYTHON_DRILL_LEGEND_TOOLTIP:"",MPYTHON_DRILL_SHOW_HELPURL:"",MPYTHON_DRILL_SHOW_MESSAGE0:"Display images",MPYTHON_DRILL_SHOW_TOOLTIP:"",MPYTHON_DRILL_DRILL_PRINT_HELPURL:"",MPYTHON_DRILL_DRILL_PRINT_MESSAGE0:"Returns the corresponding key value%1",MPYTHON_DRILL_DRILL_PRINT_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0:"Initialize Iris dataset",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0:"flower-de-luce Principal component analysis",MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0:"flower-de-luce Factor analysis 3D",MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0:"flower-de-luce Factor analysis",MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0:"Predicting graphic flower-de-luce type%1 Render content x%3 y%4 Present species%2 color r%5 g%6 b%7 title%8 upward merge%9",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0:"Predicting graphic Render content x%1 y%2 Present species%3 color r%4 g%5 b%6 title%7",MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0:"3D Predicting graphic Render content x%1 y%2 z%3 color r%4 g%5 b%6 title%7",MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0:" title%1 size%2",MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0:"label%1 title%2 size%3",MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0:"3D title%1 size%2",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0:"3D label%1 title%2 size%3",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0:"Show legend",MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0:"Display images",MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0:"X and y coordinates of calyx and petals",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP:"There are 150 records, representing 50 Iris-setosa, Iris-versicolor and Iris-virginica respectively",MPYTHONS_FLOWER_DE_LUCE_Iris_setosa:"Iris setosa",MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor:"Iris versicolor",MPYTHONS_FLOWER_DE_LUCE_Iris_virginica:"Iris virginica",MPYTHONS_FLOWER_DE_LUCE_scatter_diagram:"scatter diagram",MPYTHONS_FLOWER_DE_LUCE_kde_diagram:"kde diagram",MPYTHONS_FLOWER_DE_LUCE_box_diagram:"box diagram",MPYTHONS_FLOWER_DE_LUCE_merge:"merge",MPYTHONS_FLOWER_DE_LUCE_not_merge:"Don it merge",MPYTHONS_FLOWER_DE_LUCE_calyx_length:"calyx length",MPYTHONS_FLOWER_DE_LUCE_calyx_width:"calyx width",MPYTHONS_FLOWER_DE_LUCE_petal_length:"petal length",MPYTHONS_FLOWER_DE_LUCE_petal_width:"petal width",MPYTHON_DRILL_DRILL_full_line:"full line",MPYTHON_DRILL_DRILL_dash_line:"dash line",MPYTHON_DRILL_DRILL_chain_line:"chain line",MPYTHON_DRILL_DRILL_imaginary_line:"imaginary line",MPYTHON_DRILL_DRILL_dot:"dot",MPYTHON_DRILL_DRILL_pixel:"pixel",MPYTHON_DRILL_DRILL_solid_rim:"solid rim",MPYTHON_DRILL_DRILL_down_triangle:"down triangle",MPYTHON_DRILL_DRILL_up_triangle:"up triangle",MPYTHON_DRILL_DRILL_right_triangle:"right triangle",MPYTHON_DRILL_DRILL_left_triangle:"left triangle",MPYTHON_DRILL_DRILL_down_flower_triangle:"down flower triangle",MPYTHON_DRILL_DRILL_up_flower_triangle:"up flower triangle",MPYTHON_DRILL_DRILL_right_flower_triangle:"right flower triangle",MPYTHON_DRILL_DRILL_left_flower_triangle:"left flower triangle",MPYTHON_DRILL_DRILL_solid_square:"solid square",MPYTHON_DRILL_DRILL_solid_pentagon:"solid pentagon",MPYTHON_DRILL_DRILL_star:"star",MPYTHON_DRILL_DRILL_vertical_hexagon:"vertical hexagon",MPYTHON_DRILL_DRILL_across_hexagon:"across hexagon",MPYTHON_DRILL_DRILL_cross:"cross",MPYTHON_DRILL_DRILL_X:"X",MPYTHON_DRILL_DRILL_rhombus:"rhombus",MPYTHON_DRILL_DRILL_thin_rhombus:"thin rhombus",MPYTHON_DRILL_DRILL_vertical_line:"vertical line",MPYTHONS_CONVERT_PICTURE_HELPURL:" ",MPYTHONS_CONVERT_PICTURE_MESSAGE0:" convert image to 28 ^ 2 binary image %1 pending image storage path %2 processed image storage path %3 format %4",MPYTHONS_CONVERT_PICTURE_TOOLTIP:"control board passes WIF to voice assistant via serial port ",MPYTHONS_NUMBER_REPERTOIRE_HELPURL:" ",MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0:" find parse handwritten numeric data store path %1",MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP:"use handwritten number library ",MPYTHONS_SHOW_NUMBER_PATH_HELPURL:" ",MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0:" handwritten digital image storage path %1",MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP:"path of handwritten digital image ",MPYTHONS_SHOW_NUMBER_HELPURL:" ",MPYTHONS_SHOW_NUMBER_MESSAGE0:" display handwritten digital image ",MPYTHONS_SHOW_NUMBER_TOOLTIP:"display handwritten digital image ",MPYTHONS_NUMBER_RECOGNITION_HELPURL:" ",MPYTHONS_NUMBER_RECOGNITION_MESSAGE0:" identify handwritten digital image storage path %1",MPYTHONS_NUMBER_RECOGNITION_TOOLTIP:"path to recognize handwritten digital image ",MPYTHONS_NUMBER_PLACEHOLDER_HELPURL:" ",MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0:" create variable %1 initialize neural network tensor variable name %2",MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP:" ",MPYTHON_DRILL_RESHAPE_MESSAGE0:"create variable %1 and convert the input photo variable %2 into neural network output tensor %3",MPYTHON_DRILL_RESHAPE_TOOLTIP:" ",MPYTHON_DRILL_RESHAPE_HELPURL:" ",MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0:"create variable %1 Shared variable name %2 initialization mode %3",MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP:" ",MPYTHON_NUMBER_CONV_WEIGHT_HELPURL:" ",MPYTHON_NUMBER_INITIALIZER_MESSAGE0:"produce truncated normal distribution random number output tensor %1 standard deviation %2",MPYTHON_NUMBER_INITIALIZER_TOOLTIP:" ",MPYTHON_NUMBER_INITIALIZER_HELPURL:" ",MPYTHON_NUMBER_CONSTANT_MESSAGE0:"create constant value %1 output tensor %2",MPYTHON_NUMBER_CONSTANT_TOOLTIP:" ",MPYTHON_NUMBER_CONSTANT_HELPURL:" ",MPYTHON_NUMBER_CONV2D_MESSAGE0:"neural network output tensor %1 Shared variable %2 step size %3 fill %4",MPYTHON_NUMBER_CONV2D_TOOLTIP:" ",MPYTHON_NUMBER_CONV2D_HELPURL:" ",MPYTHON_NUMBER_CONV_BIASES_MESSAGE0:"tensor %1",MPYTHON_NUMBER_CONV_BIASES_TOOLTIP:" ",MPYTHON_NUMBER_CONV_BIASES_HELPURL:" ",MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0:"convolution two-dimensional variable %1 %2",MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP:" ",MPYTHON_NUMBER_CONV_CONV2D_HELPURL:" ",MPYTHON_NUMBER_RELU_MESSAGE0:"create variable %1 Relu forward drive function convolution 2d layer %2",MPYTHON_NUMBER_RELU_TOOLTIP:" ",MPYTHON_NUMBER_RELU_HELPURL:" ",MPYTHON_NUMBER_MAX_POOL_MESSAGE0:"pooling 2d layer variable %1 convolution layer %2 pooling window %3 step size %4 fill %5",MPYTHON_NUMBER_MAX_POOL_TOOLTIP:" ",MPYTHON_NUMBER_MAX_POOL_HELPURL:" ",MPYTHON_NUMBER_MATMUL_MESSAGE0:"the corresponding elements of the two parameters are multiplied x%1 y%2",MPYTHON_NUMBER_MATMUL_TOOLTIP:" ",MPYTHON_NUMBER_MATMUL_HELPURL:" ",MPYTHON_NUMBER_ADD_MESSAGE0:"full connection layer variable %1 add elements of two parameters x%2 y%3",MPYTHON_NUMBER_ADD_TOOLTIP:" ",MPYTHON_NUMBER_ADD_HELPURL:" ",MPYTHON_NUMBER_SOFTMAX_MESSAGE0:"create variable %1 prediction model accuracy variable name %2",MPYTHON_NUMBER_SOFTMAX_TOOLTIP:" ",MPYTHON_NUMBER_SOFTMAX_HELPURL:" ",MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0:"create variable %1 loss function %2",MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP:" ",MPYTHON_NUMBER_REDUCE_MEAN_HELPURL:" ",MPYTHON_NUMBER_LOG_MESSAGE0:"natural logarithm %1",MPYTHON_NUMBER_LOG_TOOLTIP:" ",MPYTHON_NUMBER_LOG_HELPURL:" ",MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0:"compress sum %1 dimension %2",MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP:"because the log function is monotonically increasing, logP(Y|X) will also reach its maximum value, so maximizing P(Y|X) after adding a negative sign in front is equivalent to minimizing L.",MPYTHON_NUMBER_REDUCE_SUM_HELPURL:"https://www.cnblogs.com/guoyaohua/p/9217206.html",MPYTHON_NUMBER_TRAIN_MESSAGE0:"optimize learning rate %1",MPYTHON_NUMBER_TRAIN_TOOLTIP:" ",MPYTHON_NUMBER_TRAIN_HELPURL:" ",MPYTHON_NUMBER_MINIMIZE_MESSAGE0:"create variable %1 optimize tensor %2",MPYTHON_NUMBER_MINIMIZE_TOOLTIP:" ",MPYTHON_NUMBER_MINIMIZE_HELPURL:" ",MPYTHON_NUMBER_INIT_MESSAGE0:"initialization model complete ",MPYTHON_NUMBER_INIT_TOOLTIP:" ",MPYTHON_NUMBER_INIT_HELPURL:" ",MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0:"select handwritten number set %1 number %2",MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP:" ",MPYTHON_NUMBER_TRAIN_TEST_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN_MESSAGE0:"start data stream graph session to compute session %1 picture %2 tag %3",MPYTHON_NUMBER_SESSION_RUN_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0:"start data stream graph session to compute session %1 picture %2 tag %3",MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN2_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0:"prediction model %1 fit %2 session %3",MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN3_HELPURL:" ",MPYTHON_NUMBER_EQUAL_MESSAGE0:"Whether each dimension of two tensors is equalx%1 y%2",MPYTHON_NUMBER_EQUAL_TOOLTIP:"",MPYTHON_NUMBER_EQUAL_HELPURL:"",MPYTHON_NUMBER_ARGMAX_MESSAGE0:"tensor%1 %2Compare the index that returns the maximum value",MPYTHON_NUMBER_ARGMAX_TOOLTIP:"",MPYTHON_NUMBER_ARGMAX_HELPURL:"",MPYTHON_NUMBER_CAST_MESSAGE0:"Floating point %1",MPYTHON_NUMBER_CAST_TOOLTIP:"",MPYTHON_NUMBER_CAST_HELPURL:"",MPYTHONS_NUMBER_SAVER_SAVE_HELPURL:"",MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0:"Handwritten numeral recognition model variable name %1 store path%2",MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP:"MNIST Handwritten numeral recognition model Save the path",MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL:"",MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0:"Load model %1 store path%2",MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP:"Load model",MPYTHONS_NUMBER_SAME:"SAME",MPYTHONS_NUMBER_VALID:"VALID",MPYTHONS_NUMBER_train:"train",MPYTHONS_NUMBER_test:"test",MPYTHONS_NUMBER_row:"row",MPYTHONS_NUMBER_rank:"rank",MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL:"",MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0:"Call camera %1",MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP:"Call the built-in camera in the notebook, so the parameter is 0. If there are other cameras, the parameter can be adjusted to 1,2",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL:"",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0:"off the camera",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0:"Delete all Windows",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0:"Load model store path%1",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0:"Read the picture from the camera",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP:"Ret True if the image is read, otherwise false;The second parameter is frame, which is the image of the currently captured frame.",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0:"Grayscale image",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0:"Each time the face is detected, the image size is reduced proportionally%1",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP:"",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL:"",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0:"Face area displays rectangular box color r%1 g%2 b%3",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0:"Save the image location%1 ID%2 Serial number%3",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0:"Window to display the image filename%1",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0:"Exit via esc key",MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP:"Use only when the window is on top",MPYTHONS_FACE_RECOGNITIONR_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_MESSAGE0:"Gets the coordinate value of the face in the image face%1",MPYTHONS_FACE_RECOGNITIONR_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0:"If the image is read",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL:"",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0:"Whether to turn on the camera",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0:"Get photos and id Photo storage path%1",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0:"Initialize Training model",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0:"Start Training model",MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0:"%1Training model store path%2",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL:"",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0:"Face model training number",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FONT_HELPURL:"",MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0:"Window display Recognized name%1 Set font to%2 color r%3 g%4 b%5",MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL:"",MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0:"Window display Confidence of identification%1 Set font to%2 color r%3 g%4 b%5",MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0:"Predict human face name%1 Degree of confidence%2",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FORECAST_Write:"write",MPYTHONS_FACE_RECOGNITION_FORECAST_Read:"read",MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0:"初始化 聊天机器人",MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP:"",MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0:"选择训练器 聊天机器人",MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP:"",MPYTHONS_DIALOGUE_ROBOT_START_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0:"选择与%1 聊天",MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0:"自定义 语料库 %1[%2]",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0:"输入对话 获得响应 %1",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0:"识别响应",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0:"选择跟 %1 聊天",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP:"",Jenny:"珍妮",Jack:"杰克",Tom:"汤姆",MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0:"选择 %1 %2 模式%3 %4 喂养%5",MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP:"",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL:"",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0:"查看训练库 选择%1",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP:"",MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL:"",MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0:"生成随机数 %1",MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP:"",MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL:"",MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0:"显示窗口",MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP:"",MPYTHON_AGESTURE_IMSHOW_HELPURL:"",MPYTHON_AGESTURE_IMSHOW_MESSAGE0:"处理图像 %1",MPYTHON_AGESTURE_IMSHOW_TOOLTIP:"",MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL:"",MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0:"选择训练库 knn模型",MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_LOAD_MODEL_HELPURL:"",MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0:"载入knn模型 存储路径%1",MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL:"",MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0:"%1打开图片 存储路径%2 图片名%3",MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP:"",MPYTHON_AGESTURE_ARRAY_MESSAGE0:"选择%1 构建特征数据%2",MPYTHON_AGESTURE_ARRAY_TOOLTIP:"",MPYTHON_AGESTURE_ARRAY_HELPURL:"",MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0:"打乱排序%1 ",MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP:"",MPYTHON_GESTURE_RANDOM_RANK_HELPURL:"",MPYTHON_GESTURE_READ_LEND_MESSAGE0:" %1 图片特征",MPYTHON_GESTURE_READ_LEND_TOOLTIP:"",MPYTHON_GESTURE_READ_LEND_HELPURL:"",MPYTHON_GESTURE_START_SRAIN_HELPURL:"",MPYTHON_GESTURE_START_SRAIN_MESSAGE0:"开始训练 手势识别 期望%1 目标%2",MPYTHON_GESTURE_START_SRAIN_TOOLTIP:"",MPYTHON_GESTURE_SCORE_HELPURL:"",MPYTHON_GESTURE_SCORE_MESSAGE0:"进行评分 期望%1 目标%2",MPYTHON_GESTURE_SCORE_TOOLTIP:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0:"%1 数组降维 图片总数%2",MPYTHON_GESTURE_FORECAST_HELPURL:"",MPYTHON_GESTURE_FORECAST_TOOLTIP:"",MPYTHON_GESTURE_FORECAST_MESSAGE0:"预测结果%1",MPYTHON_AGESTURE_SAVE_MODEL_HELPURL:"",MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0:"保存模型 存储路径%1",MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL:"",MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0:"%1图片 预测图片 ",MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0:"%1 彩色图像降维",MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL:"",MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0:"选择人脸库 图片存储路径%1",MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP:"",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL:"",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0:"加载模型 存储路径%1",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0:"第%1位人脸性别结果 置信度",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0:"第%1位人脸情绪结果 置信度",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0:"第%1位人脸性别 结果",MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0:"第%1位人脸情绪 结果",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP:"",MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL:"",MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0:"选择人脸库 %1",MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0:"第%1位情绪为 %2",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0:"第%1位性别为 %2",MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0:"人脸数量",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0:"表情数量",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0:"人脸实时检测 %1",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0:"显示图片",MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP:"",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL:"",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0:"选择人脸%1 %2",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL:"",MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0:"初始化 文章聚类",MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_TITLE_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0:"标题 第%1文章",MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_CONTENT_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0:"内容 第%1文章",MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP:"",MPYTHONS_WORD_CLOUD_JIEBA_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0:"文章内容转为列表 第%1文章",MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP:"",MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL:"",MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0:"读取停词表%1",MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP:"返回的是100篇文章里的符号",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL:"",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0:"删除后的新闻",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP:"",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL:"",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0:"构造词云所用的数据",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP:"",MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL:"",MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0:"计算总数 排序前%1",MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP:"返回的是100篇文章里的文本",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL:"",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0:"文章聚类训练结果 保存为图片",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL:"",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0:"显示图片",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP:"",FIRST:"first",LAST:"last",MPYTHON_USOCKET_BLOCK:"block",MPYTHON_USOCKET_UNBLOCK:"unblock",MPYTHON_USOCKET_SETSOCKOPT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0:"set socket %1 with af %2 and type %3",MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP:"Sets the value of a given socket option. The required symbolic constants are defined in the socket module (SO_*, etc.). This value can be an integer or a class byte object representing a buffer.",MPYTHON_USOCKET_READ_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",MPYTHON_USOCKET_READ_MESSAGE0:"read %2 bytes from socket %1 and returns a byte object",MPYTHON_USOCKET_READ_TOOLTIP:"if no number of read is given, run in a mode similar to socket.readall ()",MPYTHON_USOCKET_SETBLOCKING_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",MPYTHON_USOCKET_SETBLOCKING_MESSAGE0:"set socket %1 as %2 mode ",MPYTHON_USOCKET_SETBLOCKING_TOOLTIP:"",MPYTHON_USOCKET_SETTIMEOUT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0:"socket %1 sets timeout as %2 seconds",MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP:"",MPYTHON_USOCKET_SENDALL_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SENDALL_MESSAGE0:"Socket%1 sends%2 continuously and returns the number of bytes sent",MPYTHON_USOCKET_SENDALL_TOOLTIP:"Send all data to sockets. Sockets must be connected to remote sockets. Unlike send (), this method will attempt to send all data by sending blocks continuously.",MPYTHON_USOCKET_SENDS_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SENDS_MESSAGE0:"socket %1 send %2 and returns the number of bytes sent",MPYTHON_USOCKET_SENDS_TOOLTIP:"Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",MPYTHON_USOCKET_SEND_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SEND_MESSAGE0:"socket %1 send %2 and returns the number of bytes sent",MPYTHON_USOCKET_SEND_TOOLTIP:"Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",MPYTHON_LINE_BREAK_HELPURL:"",MPYTHON_LINE_BREAK_MESSAGE0:"Escape character %1",MPYTHON_LINE_BREAK_TOOLTIP:"Escape character",MPYTHON_USOCKET_SENDTO_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",MPYTHON_USOCKET_SENDTO_MESSAGE0:"socket %1 send %2 to address %3",MPYTHON_USOCKET_SENDTO_TOOLTIP:"Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",MPYTHON_USOCKET_RECV_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",MPYTHON_USOCKET_RECV_MESSAGE0:"socket %1 receives with maximum amount %2 and returns received data object",MPYTHON_USOCKET_RECV_TOOLTIP:"",MPYTHON_TEXT_ESC_HELPURL:"",MPYTHON_TEXT_ESC_MESSAGE0:"text ESC %1",MPYTHON_TEXT_ESC_TOOLTIP:"text ESC",MPYTHON_USOCKET_RECVFROM_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",MPYTHON_USOCKET_RECVFROM_MESSAGE0:"socket %1 receives with maximum amount %2 and returns received data tuple",MPYTHON_USOCKET_RECVFROM_TOOLTIP:"Tuple format: (bytes, address)",MPYTHON_USOCKET_CONNECT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",MPYTHON_USOCKET_CONNECT_MESSAGE0:"socket %1 connect to host %2 with port %3",MPYTHON_USOCKET_CONNECT_TOOLTIP:"",MPYTHON_USOCKET_GETADDRINFO_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",MPYTHON_USOCKET_GETADDRINFO_MESSAGE0:"parse host %1 with port %2 and return ip",MPYTHON_USOCKET_GETADDRINFO_TOOLTIP:"Internet required",MPYTHON_USOCKET_ACCEPT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",MPYTHON_USOCKET_ACCEPT_MESSAGE0:"socket %1 receive connection request and return socket tuple",MPYTHON_USOCKET_ACCEPT_TOOLTIP:"Receive connection request.Socket needs to specify an address and listen to the connection.The return value is (conn, address)\nconn: A new socket object that can be used to send and receive message\naddress: Client address connected to the server",MPYTHON_USOCKET_LISTEN_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",MPYTHON_USOCKET_LISTEN_MESSAGE0:"listen to socket %1 with backlog as %2",MPYTHON_USOCKET_LISTEN_TOOLTIP:"backlog : Maximum number of accepted sockets, at least 0, default reasonable value if not specified",MPYTHON_USOCKET_BIND_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",MPYTHON_USOCKET_BIND_MESSAGE0:"socket %1 bind with address %2 and port %3",MPYTHON_USOCKET_BIND_TOOLTIP:"",MPYTHON_USOCKET_CLOSE_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",MPYTHON_USOCKET_CLOSE_MESSAGE0:"close socket %1",MPYTHON_USOCKET_CLOSE_TOOLTIP:"",MPYTHON_USOCKET_INIT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",MPYTHON_USOCKET_INIT_MESSAGE0:"create socket %1 with af %2 and type %3",MPYTHON_USOCKET_INIT_TOOLTIP:"AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP stream\nSOCK_DGRAM:=2 — UDP datagram\nSOCK_RAW :=3 — Original socket\nSO_REUSEADDR : =4 — Socket reusable\n",MPYTHON_GET_POST_HELPURL:"",MPYTHON_GET_POST_MESSAGE0:"%1 request url %2 submit fields %3",MPYTHON_GET_POST_TOOLTIP:"",MPYTHON_UREQUESTS_GET_POST_HELPURL:"",MPYTHON_UREQUESTS_GET_POST_TOOLTIP:"",MPYTHON_UREQUESTS_GET_POST_MESSAGE0:"%1 request url %2 submit fields %3",MPYTHON_UREQUESTS_POST_FILE_HELPURL:"",MPYTHON_UREQUESTS_POST_FILE_TOOLTIP:"",MPYTHON_UREQUESTS_POST_FILE_MESSAGE0:"Post submit file %1 request url %2 file path %3 mime type %4 fields %5",MPYTHON_RESPONSE_HELPURL:"",MPYTHON_RESPONSE_MESSAGE0:"return response content as %1",MPYTHON_RESPONSE_TOOLTIP:"",STRING:"string",_BYTE:"byte",TEXT:"text",MPYTHON_RESPONSE_ATTRIBUTE_HELPURL:"",MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0:"response attribute %1",MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP:"",MPYTHON_SLEEP_MESSAGE0:"waiting for %1 %2",MPYTHON_SLEEP_TOOLTIP:"Wait for the time before proceeding to the next command.\n1 second = 1,000 milliseconds (ms)\n1 second = 1,000,000 microseconds (μs)",MPYTHON_MS:"millisecond(ms)",MPYTHON_US:"microsecond(μs)",MPYTHON_TIME_DIFFERENCE_HELPURL:"",MPYTHON_TIME_DIFFERENCE_MESSAGE0:"Return time difference from %1 to %2",MPYTHON_TIME_DIFFERENCE_TOOLTIP:"Measure the period between successive calls to ticks_ms (), ticks_us ()",MPYTHON_TYPE_HELPURL:"",MPYTHON_TYPE_MESSAGE0:"type %1",MPYTHON_TYPE_TOOLTIP:"",MPYTHON_TYPE_IS_HELPURL:"",MPYTHON_TYPE_IS_MESSAGE0:"type %1 is %2",MPYTHON_TYPE_IS_TOOLTIP:"",MPYTHON_EVAL_HELPURL:"",MPYTHON_EVAL_MESSAGE0:"eval %1",MPYTHON_EVAL_TOOLTIP:"Simulate a string expression and return the result",MPYTHON_RETURN_HELPURL:"",MPYTHON_RETURN_MESSAGE0:"return %1",MPYTHON_RETURN_TOOLTIP:"",MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL:"",MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0:"I2C digital ray",MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP:"",MPYTHON_WIFI_ALL_CONFIG_HELPURL:"",MPYTHON_WIFI_ALL_CONFIG_MESSAGE0:"Wi-Fi configuration information",MPYTHON_WIFI_ALL_CONFIG_TOOLTIP:"Returns all wifi configuration information as tuples",MPYTHON_WIFI_ISCONNECTED_HELPURL:"",MPYTHON_WIFI_ISCONNECTED_MESSAGE0:"Has connected to Wi-Fi",MPYTHON_WIFI_ISCONNECTED_TOOLTIP:"",MPYTHON_INIT_ASSISTANT_WIFI_HELPURL:"",MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0:"Wi-Fi Connect voice assistant Wi-Fi name%1 password%2",MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP:"Control board passes WIF to voice assistant through serial port",MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL:"",MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP:"Files need to be uploaded to the board on the file system first",MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0:"Read Voice Assistant Text Files %1",MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL:"",MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0:"digital tube display %1",MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP:"-999~9999",MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL:"",MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0:"clear the digital tube display",MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP:"",MPYTHON_MACHINE_RESET_HELPURL:"",MPYTHON_MACHINE_RESET_MESSAGE0:"reset",MPYTHON_MACHINE_RESET_TOOLTIP:"Same as pressing an external reset button",MPYTHON_BLUEBIT_GET_COLOR_HELPURL:"",MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0:"I2C RGB color %1",MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0:"I2C RGB color",MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP:"Returns as list",MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL:"",MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0:"I2C HSV color %1",MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP:"HSV(Hue, Saturation, Value)",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0:"I2C HSV color",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP:"HSV(Hue, Saturation, Value)",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0:"I2C force sensor Dial code %1",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0:"I2C current sensor Dial code %1",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0:"I2C voltage sensor Dial code %1",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0:"I2C magnetic sensor Dial code %1",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0:"I2C PH sensor Dial code %1",MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0:"I2C TDS sensor Dial code %1",MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0:"I2C Pressure sensor Dial code %1",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0:"I2C Photogate Timer sensor Dial code %1",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_RED:"red",MPYTHON_GREEN:"green",MPYTHON_BLUE:"blue",MPYTHON_MUSIC_PIN_P6:"default",MPYTHON_MUSIC_PIN_P6_HELPURL:"",MPYTHON_MUSIC_PIN_P6_MESSAGE0:"%1",MPYTHON_MUSIC_PIN_P6_TOOLTIP:"",MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0:"play music %1 wait %2 loop %3 Pin %4",MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP:"Play the built-in music, you can set the standby mode and loop playback.",MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",MICROBIT_MUSIC_PITCH_MESSAGE0:"play tone %1 %2 delay %3 millisecond(s) at Pin %4",MICROBIT_MUSIC_PITCH_TOOLTIP:"Plays the tone for the set length of time.",MICROBIT_MUSIC_PITCH_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0:"at Pin %5 play note list %1 wait %2 %3 loop %4",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP:"Play a list of notes, such as C4:4, G4:8, etc., the notes are in string form, the default pin is P6 of the mPython board",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",MICROBIT_MUSIC_RESET_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",MICROBIT_MUSIC_RESET_MESSAGE0:"restore music settings",MICROBIT_MUSIC_RESET_TOOLTIP:"Restore all music settings (current beats, scales, and periods) to their default values.",MICROBIT_MUSIC_STOP_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",MICROBIT_MUSIC_STOP_MESSAGE0:"stop playing music at Pin %1",MICROBIT_MUSIC_STOP_TOOLTIP:"The default pin is P6 of the mPython board",MICROBIT_MUSIC_SET_TEMPO_MESSAGE0:"set each beat equal to %1 notes, the number of beats per minute is %2",MICROBIT_MUSIC_SET_TEMPO_TOOLTIP:"Set the playback speed (beat). A certain number of tick represents a beat, the number of beats per minute per beat (BPM beats per minute).",MICROBIT_MUSIC_SET_TEMPO_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0:"set the playback speed to %1 times",MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP:"The 4th note is 1 beat, and the number of beats per minute is 120 by default, which is 1 times the playback speed.",MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",MICROBIT_MUSIC_GET_TEMPO_MESSAGE0:"current beats",MICROBIT_MUSIC_GET_TEMPO_TOOLTIP:"Get current beats: Taps per beat, beats per minute (BPM).",MICROBIT_MUSIC_GET_TEMPO_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",MPYTHON_BLUEBIT_HUM_TEM_HELPURL:"",MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP:"",MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0:"I2C %1",MPYTHON_BLUEBIT_TEMPERATURE:"temperature",MPYTHON_BLUEBIT_HUMIDITY:"humidity",MPYTHON_UART_INIT_HELPURL:"",MPYTHON_UART_INIT_MESSAGE0:"initialize serial port %4 as baudrate %1 tx %2 rx %3",MPYTHON_UART_INIT_TOOLTIP:"mPython board supports 3 sets of serial ports. 0 for repl, remaining 1, 2 sets of serial ports available. All pins can be used as the input of serial port rx, except P2, p3, p4, p10 can only be used as input, and all the other pins can be used as output tx. in theory.",MPYTHON_UART_DEINIT_HELPURL:"",MPYTHON_UART_DEINIT_MESSAGE0:"close serial port %1",MPYTHON_UART_DEINIT_TOOLTIP:"Turn off the UART bus",MPYTHON_UART_WRITE_STR_HELPURL:"",MPYTHON_UART_WRITE_STR_MESSAGE0:"serial port %1 write string %2 %3",MPYTHON_UART_WRITE_STR_TOOLTIP:"Write a text to the bus. \nReturn value: The number of bytes to write or None to time out.",MPYTHON_UART_WRITE_HEX_HELPURL:"",MPYTHON_UART_WRITE_HEX_MESSAGE0:"serial port %1 write hex string %2 %3",MPYTHON_UART_WRITE_HEX_TOOLTIP:"",MPYTHON_UART_HAS_DATA_HELPURL:"",MPYTHON_UART_HAS_DATA_MESSAGE0:"serial port %1 has readable data",MPYTHON_UART_HAS_DATA_TOOLTIP:"Returns an integer that counts the number of characters that can be read without blocking. \n If there are no characters available, it will return 0, if there are characters, it will return a positive number. \n This method can return 1 even if there are multiple readable characters.",MPYTHON_UART_READLINE_HELPURL:"",MPYTHON_UART_READLINE_MESSAGE0:"serial port %1 read a line of data",MPYTHON_UART_READLINE_TOOLTIP:"Read a line and end with a newline character.\nReturn value: Read row or None timeout.",MPYTHON_UART_READ_HELPURL:"",MPYTHON_UART_READ_MESSAGE0:"serial port %1 read data",MPYTHON_UART_READ_TOOLTIP:"Read as much serial data as possible.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.",MPYTHON_UART_READ_LENGTH_HELPURL:"",MPYTHON_UART_READ_LENGTH_MESSAGE0:"serial port %1 read data with length as %2",MPYTHON_UART_READ_LENGTH_TOOLTIP:"Read the specified length bytes data.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.",MPYTHON_UART_WRITE_BYTE_HELPURL:"",MPYTHON_UART_WRITE_BYTE_MESSAGE0:"serial port %1 write a byte %2",MPYTHON_UART_WRITE_BYTE_TOOLTIP:"The parameter is a integer as 0~255\nWrite a byte to the bus. \nReturn value: The number of bytes to write or None to time out.",MPYTHON_UART_WRITE_BYTES_HELPURL:"",MPYTHON_UART_WRITE_BYTES_MESSAGE0:"serial port %1 write bytes %2",MPYTHON_UART_WRITE_BYTES_TOOLTIP:"Write some bytes to the bus. \nReturn value: The number of bytes to write or None to time out.",TEXT_FORMAT_MESSAGE0:"format string %1 % %2",TEXT_FORMAT_TOOLTIP:"",TEXT_FORMAT_HELPURL:"",TEXT_FORMAT2_MESSAGE0:"format string %1 with %2",TEXT_FORMAT2_TOOLTIP:"",TEXT_FORMAT2_HELPURL:"",MPYTHON_BAUDRATE_HELPURL:"",MPYTHON_BAUDRATE_MESSAGE0:"%1",MPYTHON_BAUDRATE_TOOLTIP:"",MPYTHON_HIGH_LOW_HELPURL:"",MPYTHON_HIGH_LOW_MESSAGE0:"%1",MPYTHON_HIGH_LOW_TOOLTIP:"",MPYTHON_TEN_CONVERT_TO_HELPURL:"",MPYTHON_TEN_CONVERT_TO_MESSAGE0:"decimal int num %1 converted to %2 string",MPYTHON_TEN_CONVERT_TO_TOOLTIP:"",MPYTHON_BIN:"BIN",MPYTHON_OCT:"OCT",MPYTHON_HEX:"HEX",MPYTHON_CONVERT_TO_TEN_HELPURL:"",MPYTHON_CONVERT_TO_TEN_MESSAGE0:"%1 string %2 converted to decimal int num",MPYTHON_CONVERT_TO_TEN_TOOLTIP:"",MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL:"",MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0:"decimal int num %2 converted to %1 bytes",MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP:"",MPYTHON_INT_TO_CHR_HELPURL:"",MPYTHON_INT_TO_CHR_MESSAGE0:"shaping number %1 converted to character in ASCII",MPYTHON_INT_TO_CHR_TOOLTIP:"ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages",MPYTHON_STR_TO_HEX_HELPURL:"",MPYTHON_STR_TO_HEX_MESSAGE0:"string %1 converted to hex bytes",MPYTHON_STR_TO_HEX_TOOLTIP:"Returns two hexadecimal numbers separated by spaces in the result",MPYTHON_CHR_TO_INT_HELPURL:"",MPYTHON_CHR_TO_INT_MESSAGE0:"character in ASCII %1 converted to shaping number",MPYTHON_CHR_TO_INT_TOOLTIP:"ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages",MPYTHON_HEX_TO_BIN_STR_HELPURL:"",MPYTHON_HEX_TO_BIN_STR_MESSAGE0:"hex string %1 converted to bin bytes",MPYTHON_HEX_TO_BIN_STR_TOOLTIP:"",MPYTHON_DATA_TO_BASE64_HELPURL:"",MPYTHON_DATA_TO_BASE64_MESSAGE0:"encoding data %1 in base64 and return byte object",MPYTHON_DATA_TO_BASE64_TOOLTIP:"Base64 encoding is a process from binary to character",MPYTHON_BASE64_TO_DATA_HELPURL:"",MPYTHON_BASE64_TO_DATA_MESSAGE0:"decoding base64 data %1 and return byte object",MPYTHON_BASE64_TO_DATA_TOOLTIP:"Base64 encoding is a process from binary to character",MPYTHON_UJSON_DUMPS_HELPURL:"",MPYTHON_UJSON_DUMPS_MESSAGE0:"%1 converted to json string",MPYTHON_UJSON_DUMPS_TOOLTIP:"Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none",MPYTHON_UJSON_LOADS_HELPURL:"",MPYTHON_UJSON_LOADS_MESSAGE0:"parse json string %1 and return the object",MPYTHON_UJSON_LOADS_TOOLTIP:"Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none",MPYTHON_SETS_PIN_MODE_HELPURL:"https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",MPYTHON_SETS_PIN_MODE_TOOLTIP:"Right-click help to view the pin declaration",MPYTHON_SETS_PIN_MODE_MESSAGE0:"set pin %1 as %2 mode %3 and set the value to %4",MPYTHON_SET_PIN_IN:"input",MPYTHON_SET_PIN_PUSH_PULL_OUT:"Push-pull output",MPYTHON_SET_PIN_LEAKY_OUT:"Leaky output",MPYTHON_SET_PIN_NO_PULL:"no pull",MPYTHON_SET_PIN_DOWN_PULL:"pull down",MPYTHON_SET_PIN_UP_PULL:"pull up",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL:"",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0:"thread lock object %1 requests lock",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP:"",MPYTHON_START_NEW_THREAD_HELPURL:"",MPYTHON_START_NEW_THREAD_MESSAGE0:"thread %1",MPYTHON_START_NEW_THREAD_TOOLTIP:"",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL:"",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0:"custom terminal widget on virtual pin V %1",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP:"",MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL:"",MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0:"synchronizing the status of virtual pin V %1",MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP:"",MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL:"",MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0:"when Blynk disconnected",MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP:"",MPYTHON_BLYNK_ON_CONNECTED_HELPURL:"",MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0:"when Blynk connected",MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP:"",MPYTHON_BLYNKTIMER_RUN_HELPURL:"",MPYTHON_BLYNKTIMER_RUN_MESSAGE0:"run the BlynkTimer processes",MPYTHON_BLYNKTIMER_RUN_TOOLTIP:"It is recommended to put this block in 'repeat forever' block",MPYTHON_BLYNK_RUN_HELPURL:"",MPYTHON_BLYNK_RUN_MESSAGE0:"run the Blynk processes",MPYTHON_BLYNK_RUN_TOOLTIP:"It is recommended to put this block in 'repeat forever' block",MPYTHON_BLYNK_APP_NOTIFY_HELPURL:"",MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0:"Blynk APP notifies %1",MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP:"",MPYTHON_BLYNKTIMER_HELPURL:"",MPYTHON_BLYNKTIMER_MESSAGE0:"BlynkTimer number %1 mode %2 period %3 seconds",MPYTHON_BLYNKTIMER_TOOLTIP:'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped',MPYTHON_BLYNK_STOP_TIMERS_HELPURL:"",MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0:"stop Blynk timer %1",MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP:'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped',MPYTHON_UART_INPUT_HELPURL:"",MPYTHON_UART_INPUT_MESSAGE0:"get input text from serial port, title %1",MPYTHON_UART_INPUT_TOOLTIP:"",MPYTHON_BLYNK_SET_PROPERTY_HELPURL:"",MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0:"set property %1 and value %2 to virtual pin",MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP:"Placed in a read or write event, the virtual pin is determined by the event,the component bound to the pin will have the added property",MPYTHON_BLYNK_EMAIL_HELPURL:"",MPYTHON_BLYNK_EMAIL_MESSAGE0:"email to pre-set email address with %1 subject %2 body %3",MPYTHON_BLYNK_EMAIL_TOOLTIP:"",MPYTHON_BLYNK_GET_TIMERS_HELPURL:"",MPYTHON_BLYNK_GET_TIMERS_MESSAGE0:"available Blynk timers",MPYTHON_BLYNK_GET_TIMERS_TOOLTIP:"",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL:"",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0:"send data %1 to Blynk APP's virtual pin V %2",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP:"virtual pin: V0 ~ V255",MPYTHON_BLYNK_APP_DATA_HELPURL:"",MPYTHON_BLYNK_APP_DATA_MESSAGE0:"when received value %2 of virtual pin V %1 from Blynk",MPYTHON_BLYNK_APP_DATA_TOOLTIP:"Virtual pin: V0 ~ V255",MPYTHON_BLYNK_RECEIVED_MESSAGE0:"when received value of virtual pin V %1 from Blynk",MPYTHON_BLYNK_VALUE_MESSAGE0:"value from Blynk",MPYTHON_BLYNK_VALUE_TOOLTIP:"",MPYTHON_BLYNK_VALUE_HELPURL:"",MPYTHON_BLYNK_SETUP_HELPURL:"",MPYTHON_BLYNK_SETUP_MESSAGE0:"Blynk Settings %1 server %2 port %3 authorization code %4",MPYTHON_BLYNK_SETUP_TOOLTIP:'The server can be set to "blynk-cloud.com" or "blynk.mpython.cn"\n The default port is 8080\n Note: The mobile APP access port is 9443.',INT_TO_CHR_HELPURL:"",INT_TO_CHR_MESSAGE0:"int %1 to ASCII single character",INT_TO_CHR_TOOLTIP:"",a123_HELPURL:"",a123_MESSAGE0:"新 %1",a123_TOOLTIP:"",MPYTHON_ONENET_DISCONNECT_MESSAGE0:"disconnect from OneNET",MPYTHON_ONENET_DISCONNECT_TOOLTIP:"",MPYTHON_ONENET_DISCONNECT_HELPURL:"",MPYTHON_ONENET_MSG_MESSAGE0:"message from OneNET",MPYTHON_ONENET_MSG_TOOLTIP:"",MPYTHON_ONENET_MSG_HELPURL:"",MPYTHON_ONENET_RECV_MESSAGE0:"when received message %1 from OneNET",MPYTHON3_ONENET_RECV_MESSAGE0:"when received message from OneNET",MPYTHON_ONENET_RECV_TOOLTIP:"",MPYTHON_ONENET_RECV_HELPURL:"",MPYTHON_ONENET_RECV_MSG_MESSAGE0:"when received specific message %1 from OneNET",MPYTHON_ONENET_RECV_MSG_TOOLTIP:"",MPYTHON_ONENET_RECV_MSG_HELPURL:"",MPYTHON_ONENET_PUB_VALUE_MESSAGE0:"publish data to OneNET, name %1 value %2",MPYTHON_ONENET_PUB_VALUE_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE_HELPURL:"",MPYTHON_ONENET_PUB_DICT_MESSAGE0:"publish data to OneNET %1",MPYTHON_ONENET_PUB_DICT_TOOLTIP:"",MPYTHON_ONENET_PUB_DICT_HELPURL:"",MPYTHON_HCSR04_DISTANCE_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_DISTANCE_MESSAGE0:"%1 hcsr04 untrasonic distance, unit %2",MPYTHON_HCSR04_DISTANCE_TOOLTIP:"",MPYTHON_HCSR04_DISTANCE_MM_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0:"%1 hcsr04 untrasonic(mm)",MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP:"",MPYTHON_HCSR04_OBJ_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_OBJ_MESSAGE0:"Hcsr04 ultrasonic initialize name %1 trigger %2 echo %3",MPYTHON_HCSR04_OBJ_TOOLTIP:"",MPYTHON_PM2_5_LitresAir_HELPURL:"",MPYTHON_PM2_5_LitresAir_MESSAGE0:"RX pin %1 Number of particles with diameter of %2 in 0.1 liter air",MPYTHON_PM2_5_LitresAir_TOOLTIP:"",MPYTHON_PM2_5_MIC_HELPURL:"",MPYTHON_PM2_5_MIC_MESSAGE0:"RX pin %1 PM value concentration %2",MPYTHON_PM2_5_MIC_TOOLTIP:"",MPYTHON3_IR_REMOTE_RECV_MESSAGE0:"when infrared receiver %1 received message %2 do %3",MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0:"callback address",MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0:"received message",MPYTHON_IR_REMOTE_RECV_MESSAGE0:"infrared receive %1 callback address %2 callback command %3",MPYTHON_IR_REMOTE_RECV_HELPURL:"",MPYTHON_IR_REMOTE_RECV_TOOLTIP:"",MPYTHON_IR_REMOTE_SEND_MESSAGE0:"infrared send %1 address %2 command %3",MPYTHON_IR_REMOTE_SEND_HELPURL:"",MPYTHON_IR_REMOTE_SEND_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE2_MESSAGE0:"publish data to Wechat app, name %1 value %2",MPYTHON_ONENET_PUB_VALUE2_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE2_HELPURL:"",MPYTHON_ONENET_ACCEPT_MESSAGE:"If received message",MPYTHON_ONENET:"OneNET settings",MPYTHON_ONENET_WECHAT_APP:"Wechat app settings",MPYTHON_ONENET_OPTION_BOARDS:"optional mPython boards",MPYTHON_ONENET_TITLE:"OneNET",MPYTHON_SERVER:"server",MPYTHON_DEVICE_ID:"device_id",MPYTHON_PRODUCT_ID:"product_id",MPYTHON_API_KEY:"product_APIKey",MPYTHON_TOPIC:"topic",MPYTHON_ONENET_CALLBACK:"Callback function",MPYTHON_ONENET_CALLBACK_TITLE:"OneNET callback",MPYTHON_ONENET_OPTION_BOARDS_HELPURL:"",MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0:"choose mPython App %1 in WeChat App",MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP:"",TEXT_TO_BYTE_MESSAGE0:"convert %1 to bytes",TEXT_TO_BYTE_TOOLTIP:"Supported data type as string",TEXT_TO_BYTE_HELPURL:"",OTHER_TO_BYTE_MESSAGE0:"convert Non-text %1 to bytes",OTHER_TO_BYTE_TOOLTIP:"",OTHER_TO_BYTE_HELPURL:"",MPYTHON_BYTES_DECODE_HELPURL:"",MPYTHON_BYTES_DECODE_MESSAGE0:"convert bytes %1 to string",MPYTHON_BYTES_DECODE_TOOLTIP:"",MPYTHON_ONENET_TOOLTIP:"Create a OneNET connection",MPYTHON_ONENET_INIT_WIFI_MESSAGE0:"IoT make sure to connect to Wi-Fi with SSID %1 & Password %2",MPYTHON_ONENET_INIT_WIFI_TOOLTIP:"Let the board access the Wi-Fi environment",MPYTHON_ONENET_INIT_WIFI_HELPURL:"",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL:"",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0:"when receives %1 and %2 from WeChat App",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP:"",MPYTHON_MAC_ADDRESS_HELPURL:"",MPYTHON_MAC_ADDRESS_MESSAGE0:"MAC Address",MPYTHON_MAC_ADDRESS_TOOLTIP:"",MPYTHON_RADIO_REC_HELPURL:"",MPYTHON_RADIO_REC_MESSAGE0:"radio received",MPYTHON_RADIO_REC_TOOLTIP:"received data is bytes",MPYTHON_RADIO_SEND_HELPURL:"",MPYTHON_RADIO_SEND_MESSAGE0:"radio sends %1",MPYTHON_RADIO_SEND_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_CHANNEL_HELPURL:"",MPYTHON_RADIO_CHANNEL_MESSAGE0:"set radio channel %1",MPYTHON_RADIO_CHANNEL_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_ON_OFF_HELPURL:"",MPYTHON_RADIO_ON_OFF_MESSAGE0:"%1 radio",MPYTHON_RADIO_ON_OFF_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_MSG_MESSAGE0:"message from Radio",MPYTHON_RADIO_MSG_TOOLTIP:"",MPYTHON_RADIO_MSG_HELPURL:"",MPYTHON3_RADIO_RECV_MESSAGE0:"when receiving broadcast message from Radio %1 do %2",MPYTHON_RADIO_RECV_MESSAGE0:"when receiving broadcast message %1 from Radio",MPYTHON_RADIO_RECV_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_RECV_HELPURL:"",MPYTHON_RADIO_RECV_MSG_MESSAGE0:"when receiving specific broadcast message %1 from Radio %2 do %3",MPYTHON_RADIO_RECV_MSG_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_RECV_MSG_HELPURL:"",MPYTHON_UDP_INIT_HELPURL:"",MPYTHON_UDP_INIT_MESSAGE0:"connect to UDP",MPYTHON_UDP_INIT_TOOLTIP:"base on Wi-Fi",MPYTHON_UDP_SEND_HELPURL:"",MPYTHON_UDP_SEND_MESSAGE0:"UDP send message %1 to all",MPYTHON_UDP_SEND_TOOLTIP:"",MPYTHON_UDP_SENDTO_HELPURL:"",MPYTHON_UDP_SENDTO_MESSAGE0:"UDP send message %1 to %2 port %3",MPYTHON_UDP_SENDTO_TOOLTIP:"",MPYTHON_UDP_RECV_HELPURL:"",MPYTHON_UDP_RECV_MESSAGE0:"UDP receive message",MPYTHON_UDP_RECV_TOOLTIP:"",MPYTHON_UDP_RECV_EVENT_HELPURL:"",MPYTHON_UDP_RECV_EVENT_MESSAGE0:"when received message from UDP %1 do %2",MPYTHON_UDP_RECV_EVENT_TOOLTIP:"",MPYTHON_UDP_RECV_MSG_MESSAGE0:"message from UDP",MPYTHON_UDP_RECV_MSG_TOOLTIP:"",MPYTHON_UDP_RECV_MSG_HELPURL:"",MPYTHON_DISPCHAR_MODE_1:"normal",MPYTHON_DISPCHAR_MODE_2:"rev",MPYTHON_DISPCHAR_MODE_3:"trans",MPYTHON_AUDIO_XUNFEI_TTS_HELPURL:"",MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0:"TTS play text %1",MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP:'The "Online Speech Synthesis" service needs to be enabled on the "Xunfei Open Platform" www.xfyun.cn',MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL:"https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0:"TTS config APPID %1 APIKey %2",MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP:'Enter the APPID and APIKey obtained on the "Xunfei Open Platform" www.xfyun.cn\nNote: To set the IP whitelist',MPYTHON_AUDIO_PLAY_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",MPYTHON_AUDIO_PLAY_MESSAGE0:"Audio play %1",MPYTHON_AUDIO_PLAY_TOOLTIP:"Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the mPython board, e.g 'music_1.mp3'",MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0:"Audio play %1",MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP:"Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the mPython board, e.g 'music_1.mp3'",MPYTHON_AUDIO_DEINIT_HELPURL:"",MPYTHON_AUDIO_DEINIT_MESSAGE0:"deinit Audio",MPYTHON_AUDIO_DEINIT_TOOLTIP:"Create a cache for controlling the audio decoding",MPYTHON_AUDIO_CMD_HELPURL:"",MPYTHON_AUDIO_CMD_MESSAGE0:"Audio %1",MPYTHON_AUDIO_CMD_TOOLTIP:"",MPYTHON_AUDIO_INIT_HELPURL:"",MPYTHON_AUDIO_INIT_MESSAGE0:"initialize Audio",MPYTHON_AUDIO_INIT_TOOLTIP:"Create a cache for controlling the audio decoding",MPYTHON_AUDIO_START_RECORDING_HELPURL:"",MPYTHON_AUDIO_START_RECORDING_MESSAGE0:"Start the recording The recording time %1 seconds",MPYTHON_AUDIO_START_RECORDING_TOOLTIP:"Need mPython board v1.1 or above hardware version.The recording should not be longer than 5 seconds",MPYTHON_AUDIO_RECORDING_RESULT_HELPURL:"",MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0:"Recording the results",MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL:"",MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0:"For %1 Discern",MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL:"",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0:"Discern Recording the results",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_RECORD_INIT_HELPURL:"",MPYTHON_RECORD_INIT_MESSAGE0:"initialize Recording",MPYTHON_RECORD_INIT_TOOLTIP:"Recording initialization.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_RECORD_DEINIT_HELPURL:"",MPYTHON_RECORD_DEINIT_MESSAGE0:"Trelease cache of Recording",MPYTHON_RECORD_DEINIT_TOOLTIP:"Release the cache after the recording ends.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_RECORD_WAV_HELPURL:"",MPYTHON_RECORD_WAV_MESSAGE0:"record audio with storage path %1 and duration %2 second(s)",MPYTHON_RECORD_WAV_TOOLTIP:"Record audio and store it in *.wav format.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_ASR_HELPURL:"",MPYTHON_ASR_MESSAGE0:"get voice command within %1 seconds",MPYTHON_ASR_TOOLTIP:"Can recognize voice command within 3 seconds.\nNeed mPython board v1.1 or above hardware version.",mpython_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_button_A:"P5 (button A)",mpython_button_B:"P11 (button B)",mpython_PIN7_RGB:"P7 (Onboard RGB)",MPYTHON_PWM_PIN_P7:"P7 (mPython board)",MPYTHON_PWM_PIN_P9:"P9 (mPython box)",mpython_tem:"temperature",mpython_hum:"humidity",mpython_pre:"air pressure",mpython_left_right:"left-right",mpython_front_back:"front-back",mpython_vertical:("vertical","vertical"),mpython_horizontal:("horizontal","horizontal"),mpython_run_in_back:"background",mpython_run_in_front:"foreground",mpython_draw:"draw",mpython_clear:"clear",mpython_s:"second",mpython_ms:"millisecond",mpython_us:"microsecond",mpython_year:"year",mpython_month:"month",mpython_date:"day",mpython_hour:"hour",mpython_minute:"minute",mpython_week:"week number",mpython_days:"days number",MPYTHON_ORDER:"#",MPYTHON_REVERSE_ORDER:"countdown #",MATH_RANDOM_RANDRANGE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MATH_RANDOM_RANDRANGE_TOOLTIP:"Returns a random number in the specified incremental cardinality set, the base value defaults to 1",MATH_RANDOM_RANDRANGE_MESSAGE0:"random number increments from increment interval [%1 , %2) by step %3",MATH_KEEP_DECIMAL_HELPURL:"",MATH_KEEP_DECIMAL_TOOLTIP:"",MATH_KEEP_DECIMAL_MESSAGE0:"%1 keep %2 decimal places",MPYTHON_MIN:"min value",MPYTHON_MAX:"max value",MPYTHON_LENTH:"length",TUPLE_MIN_MAX_LEN_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_MIN_MAX_LEN_TOOLTIP:"",TUPLE_MIN_MAX_LEN_MESSAGE0:"tuple %1 %2",TUPLE_ITEM_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_ITEM_EXIST_TOOLTIP:"",TUPLE_ITEM_EXIST_MESSAGE0:"tuple %1 include %2",LIST_ITEM_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_ITEM_EXIST_TOOLTIP:"",LIST_ITEM_EXIST_MESSAGE0:"list %1 include %2",PARTS_OF_TUPLE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_TUPLE_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",PARTS_OF_TUPLE_MESSAGE0:"return tuple %1 from the %2 to the last item",PARTS_OF_TUPLE2_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_TUPLE2_TOOLTIP:"Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th",PARTS_OF_TUPLE2_MESSAGE0:"return tuple %1 takes %2 %3 items to %4 %5 items",PARTS_OF_LIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_LIST_TOOLTIP:"Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th",PARTS_OF_LIST_MESSAGE0:"return list %1 takes %2 %3 items to %4 %5 items",LIST_TO_TUPLE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_TO_TUPLE_TOOLTIP:"",LIST_TO_TUPLE_MESSAGE0:"list %1 conversion to tuple",tuple_create_with_MESSAGE0:"define tuple %1 = %2 ",tuple_create_with_TOOLTIP:"When you only have one element, you need to add a comma after the element",tuple_create_with_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",tuple_order_item_MESSAGE0:"tuple %1 %2 %3 item",tuple_order_item_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",tuple_order_item_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_ORDER_ITEM_MESSAGE0:"list %1 %2 %3 item",LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_LIST_ORDER_ITEM_MESSAGE0:"set list %1 %2 %3 item as %4",SET_LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",INSERT_LIST_ORDER_ITEM_MESSAGE0:"insert list %1 %2 %3 item as %4",INSERT_LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",INSERT_LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_TUPLE_ORDER_ITEM_MESSAGE0:"set tuple %1 %2 %3 item as %4",SET_TUPLE_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_TUPLE_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_TOOLTIP:"",DICT_CREATE_WITH_MESSAGE0:"define dictionary %1 = %2",SET_CREATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_CREATE_WITH_TOOLTIP:"",SET_CREATE_WITH_MESSAGE0:"define set %1 = %2",SET_UPDATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_UPDATE_WITH_TOOLTIP:"Add parameters as strings, lists, tuples, sets, dictionaries (add only key). For existing elements, do not do anything",SET_UPDATE_WITH_MESSAGE0:"update set %1 with %2",INTERSECTION_OF_SETS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",INTERSECTION_OF_SETS_TOOLTIP:"",INTERSECTION_OF_SETS_MESSAGE0:"%1 of set %2 and set %3",MPYTHON_INTERSECTION:"intersection",MPYTHON_UNION:"union",MPYTHON_DIFFERENCE:"difference",SETS_UPDATE_WAYS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SETS_UPDATE_WAYS_TOOLTIP:"",SETS_UPDATE_WAYS_MESSAGE0:"update set %1 as the %3 with set %2",SUBSET_SUPERSET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SUBSET_SUPERSET_TOOLTIP:"",SUBSET_SUPERSET_MESSAGE0:"set %1 is %3 of set %2",MPYTHON_SUBSET:"subset",MPYTHON_SUPERSET:"superset",GET_SETS_POP_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",GET_SETS_POP_TOOLTIP:"",GET_SETS_POP_MESSAGE0:"return a random item from the set %1, and remove it",LEN_OF_SETS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LEN_OF_SETS_TOOLTIP:"",LEN_OF_SETS_MESSAGE0:"length of set %1",CREATE_EMPTY_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",CREATE_EMPTY_SET_TOOLTIP:"",CREATE_EMPTY_SET_MESSAGE0:"create empty sets %1",BIT_INVERSION_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",BIT_INVERSION_TOOLTIP:"Reverse each binary bit of data",BIT_INVERSION_MESSAGE0:"invert each binary bit of the data %1",TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"Items can be strings, assigned variables, tuples",DICT_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"",DICT_KEY_VALUE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_VALUE_TOOLTIP:"",DICT_KEY_VALUE_MESSAGE0:"value of the key %2 in dictionary %1",ADD_DICT_KEY_VALUE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",ADD_DICT_KEY_VALUE_TOOLTIP:"Update the key if the key already exists",ADD_DICT_KEY_VALUE_MESSAGE0:"add key %2 & value %3 to dictionary %1",DICT_LENGTH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_LENGTH_TOOLTIP:"",DICT_LENGTH_MESSAGE0:"length of dictionary %1",DICT_KEY_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_EXIST_TOOLTIP:"",DICT_KEY_EXIST_MESSAGE0:"dictionary %1 include key %2",DICT_KEY_OR_VAL_LIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_OR_VAL_LIST_TOOLTIP:"",DICT_KEY_OR_VAL_LIST_MESSAGE0:"list of %2 in dictionary %1",DICT_KEYS:"KEY",DICT_VALUES:"VALUE",mpython_lists_append_MESSAGE0:"add item %2 at the end of list %1",mpython_lists_append_TOOLTIP:"",mpython_lists_append_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_lists_extend_MESSAGE0:"list %1 append list %2",mpython_lists_extend_TOOLTIP:"",mpython_lists_extend_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_lists_clear_MESSAGE0:"clear list %1",mpython_lists_clear_TOOLTIP:"",mpython_lists_clear_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MPYTHON_REMOVE_REPETITION_MESSAGE0:"list%1 remove repetition",MPYTHON_REMOVE_REPETITION_TOOLTIP:"",MPYTHON_REMOVE_REPETITION_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_Timer_value_MESSAGE0:"timer %1 count value",mpython_Timer_value_TOOLTIP:"Get and return the current count value of the timer",mpython_Timer_deinit_MESSAGE0:"clear timer / event %1",mpython_Timer_deinit_TOOLTIP:"Cancel the initialization of the timer. Stop timer and disable timer peripherals",mpython_Interrupt_AB_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",mpython_Interrupt_AB_TOOLTIP:"",mpython_Interrupt_AB_MESSAGE0:"when the button %1 is %2",mpython_Interrupt_pin_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",mpython_Interrupt_pin_TOOLTIP:"Rising edge trigger: from low level to high level; falling edge trigger: from high level to low level",mpython_Interrupt_pin_MESSAGE0:"when pin %1 level is from %2",mpython_Interrupt_pin_IRQ_FALLING:"↘ high to low",mpython_Interrupt_pin_IRQ_RISING:"↗ low to high",mpython_IRQ_FALLING:"pressed",mpython_IRQ_RISING:"released",mpython_PERIODIC:"repeated mode",mpython_ONE_SHOT:"delayed mode",MPYTHON_IS_SHAKED_MESSAGE0:"the board %1",MPYTHON_IS_SHAKED_HELPURL:"",MPYTHON_IS_SHAKED_TOOLTIP:"",MPYTHON_IS_SHAKED:"was shaked",MPYTHON_IS_THROWN:"was thrown",MPYTHON_SHAKE_DETECTOR_MESSAGE0:"when the board %1",MPYTHON_SHAKE_DETECTOR_HELPURL:"",MPYTHON_SHAKE_DETECTOR_TOOLTIP:"",MPYTHON_IS_TILTED_MESSAGE0:"the board is %1",MPYTHON_IS_TILTED_HELPURL:"",MPYTHON_IS_TILTED_TOOLTIP:"",MPYTHON_TILT_DETECTOR_MESSAGE0:"when the board is %1",MPYTHON_TILT_DETECTOR_HELPURL:"",MPYTHON_TILT_DETECTOR_TOOLTIP:"",MPYTHON_DIRECTION_FORWARD:"tilt forward",MPYTHON_DIRECTION_BACK:"tilt back",MPYTHON_DIRECTION_RIGHT:"tilt right",MPYTHON_DIRECTION_LEFT:"tilt left",MPYTHON_DIRECTION_NONE:"flat",MPYTHON_TOUCH_EVENT_MESSAGE0:"when the touchpad %1 is %2",MPYTHON_TOUCH_EVENT_HELPURL:"",MPYTHON_TOUCH_EVENT_TOOLTIP:"",MPYTHON_TOUCH_EVENT_PRESSED:"pressed",MPYTHON_TOUCH_EVENT_UNPRESSED:"unpressed",MPYTHON_CUSTOM_EVENT_MESSAGE0:"event %1 : when %2",MPYTHON_CUSTOM_EVENT_HELPURL:"",MPYTHON_CUSTOM_EVENT_TOOLTIP:"Custom events use port 1/2/4/7/8/9/10, shared with Timers, cannot access one port at the same time.\nMax up to 4 events/timers at the same time.\nIf there is conflict, try changing the number.",mpython_music_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_music_range_pitch_TOOLTIP:"duration is the length of a single frequency",mpython_music_range_pitch_MESSAGE0:"play tone from %1 to %2 step %3 duration %4 ms Pin %5",mpython_neopixel_init_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_neopixel_init_TOOLTIP:"",mpython_neopixel_init_MESSAGE0:"initialize light strip with Name %1 Pin %2 Quantity %3",MPYTHON_NEOPIXEL_RAINBOW_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP:"",MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0:"define rainbow effect of light strip with Name %1 Quantity %2 bright %3 offset %4",MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP:"Adjust the brightness range of 0 to 100",MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0:"light strip %1 set brightness as %2",mpython_neopixel_single_TOOLTIP:"",mpython_neopixel_single_MESSAGE0:"light strip %1 # %2 R %3 G %4 B %5",mpython_neopixel_single_gui_MESSAGE0:"light strip %1 # %2 color as %3",mpython_neopixel_single_gui_TOOLTIP:"",mpython_neopixel_show_TOOLTIP:"",mpython_neopixel_show_MESSAGE0:"light strip %1 setting take effect",mpython_neopixel_off_TOOLTIP:"",mpython_neopixel_off_MESSAGE0:"light strip %1 off",mpython_neopixel_all_TOOLTIP:"",mpython_neopixel_all_MESSAGE0:"light strip %1 full bright R %2 G %3 B %4",mpython_neopixel_all_gui_TOOLTIP:"",mpython_neopixel_all_gui_MESSAGE0:"light strip %1 full bright with color %2",mpython_time_localtime_MESSAGE0:"local time %1",mpython_time_localtime_TOOLTIP:"Week number: return 0 to 6, Monday is 0, Sunday is 6\nDays number: return the position of the day in the year\nIt is recommended to connect wifi and get network time first.",mpython_WiFi_config_MESSAGE0:"Wi-Fi configuration information %1",mpython_WiFi_config_TOOLTIP:"",mpython_time_ticks_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_time_ticks_MESSAGE0:"run time %1",mpython_time_ticks_TOOLTIP:"",MPYTHON_TIMER_DEF_MESSAGE0:"define timer %1",MPYTHON_TIMER_INIT_MESSAGE0:"init timer %1 %2 , cycle %3 millisecond(s)",mpython_Timer_MESSAGE0:"set timer %1 %2 , cycle %3 millisecond(s)",mpython_Timer_TOOLTIP:"Create timer n, n=1-14.\nMax up to 4 timers at the same time.\nIf there is conflict, try changing the number.\n3 for internal program,\n5/6 for servo system and ADC,\n11 is used for shaked event,\n12 is used for touchpad event,\n13 is used for Radio or DHT11/DHT22 timing value,\n14 is used for OneNET or tilt detection,\nothers ports are shared with custom events.",mpython_Timer_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",mpython_init_bluetooth_MESSAGE0:"Initialize Bluetooth Name %1",mpython_init_bluetooth_TOOLTIP:"Initialize Bluetooth Name",mpython_OnOff_bluetooth_MESSAGE0:"Bluetooth device %1 broadcasting",mpython_OnOff_bluetooth_TOOLTIP:"Bluetooth devices turn on or off broadcasting",mpython_HID_consumer_bluetooth_MESSAGE0:"HID Consumption Equipment%1 Status%2",mpython_HID_consumer_bluetooth_TOOLTIP:"Controllers that simulate HID consumer devices, such as Bluetooth remote controls",mpython_HID_mouse_bluetooth_MESSAGE0:"HID Mouse button%1",mpython_HID_mouse_bluetooth_TOOLTIP:"HID Mouse button",mpython_HID_mouse_pointer_bluetooth_MESSAGE0:"Mouse pointer movement x%2 y%1",mpython_HID_mouse_pointer_bluetooth_TOOLTIP:"Relative Displacement of Mouse Pointer Coordinates X and Y,Range -1023 ~ 1023",mpython_HID_release_mouse_bluetooth_MESSAGE0:"Mouse Release Key",mpython_HID_release_mouse_bluetooth_TOOLTIP:"Mouse device",mpython_HID_keyboard_bluetooth_MESSAGE0:"HID Keyboard device keys%1",mpython_HID_keyboard_bluetooth_TOOLTIP:"HID keyboard equipment",mpython_HID_keyboard_group_bluetooth_MESSAGE0:"HID device keys%1 combination keys%2",mpython_HID_keyboard_group_bluetooth_TOOLTIP:'If you want to use multiple keystrokes to combine instructions, you can use "|" or arithmetic',mpython_HID_keyboard_part_bluetooth_MESSAGE0:"HID Device combination key%1",mpython_HID_keyboard_part_bluetooth_TOOLTIP:'If you want to use multiple key combinations of instructions, you can use "|" or operation',mpython_HID_release_keyboard_bluetooth_MESSAGE0:"Keyboard Release Key",mpython_HID_release_keyboard_bluetooth_TOOLTIP:"Keyboard equipment",mpython_init_wifi_MESSAGE0:"connect to Wi-Fi with SSID %1 & Password %2",mpython_init_wifi_TOOLTIP:"Let the board access the Wi-Fi environment",MPYTHON_WIFI_IFCONFIG_MESSAGE0:"Wi-Fi set static IP %1 IP address %2 netmask %3 gateway %4 DNS %5",MPYTHON_WIFI_IFCONFIG_TOOLTIP:"",MPYTHON_WIFI_IFCONFIG_HELPURL:"",mpython_dis_WiFi_MESSAGE0:"disconnect Wi-Fi connection",mpython_dis_WiFi_TOOLTIP:"",MPYTHON_ENABLE_APWIFI_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",MPYTHON_ENABLE_APWIFI_TOOLTIP:"The password can be empty or alphanumeric with more than 8 digits.\nAP mode is only used for communication between the control boards. It cannot be used as a hotspot to make other devices access the Internet.",MPYTHON_ENABLE_APWIFI_MESSAGE0:"open AP mode with SSID %1 & Password %2 Channel %3",mpython_disable_APWiFi_MESSAGE0:"close AP mode",mpython_disable_APWiFi_TOOLTIP:"",mpython_ntptime_settime_MESSAGE0:"synchronize network time, timezone %1 & timing server %2",mpython_ntptime_settime_TOOLTIP:"NTP time synchronization is a time synchronization network technology",mpython_wifi_get_date_MESSAGE0:"get the current date string",mpython_wifi_get_date_TOOLTIP:"",mpython_wifi_get_time_MESSAGE0:"get the current time string",mpython_wifi_get_time_TOOLTIP:"",mpython_ntptime_timezone_E1:"UTC+1",mpython_ntptime_timezone_E2:"UTC+2",mpython_ntptime_timezone_E3:"UTC+3",mpython_ntptime_timezone_E4:"UTC+4",mpython_ntptime_timezone_E5:"UTC+5",mpython_ntptime_timezone_E6:"UTC+6",mpython_ntptime_timezone_E7:"UTC+7",mpython_ntptime_timezone_E8:"UTC+8",mpython_ntptime_timezone_E9:"UTC+9",mpython_ntptime_timezone_E10:"UTC+10",mpython_ntptime_timezone_E11:"UTC+11",mpython_ntptime_timezone_E12:"UTC+12",mpython_ntptime_timezone_0:"UTC",mpython_ntptime_timezone_W1:"UTC-1",mpython_ntptime_timezone_W2:"UTC-2",mpython_ntptime_timezone_W3:"UTC-3",mpython_ntptime_timezone_W4:"UTC-4",mpython_ntptime_timezone_W5:"UTC-5",mpython_ntptime_timezone_W6:"UTC-6",mpython_ntptime_timezone_W7:"UTC-7",mpython_ntptime_timezone_W8:"UTC-8",mpython_ntptime_timezone_W9:"UTC-9",mpython_ntptime_timezone_W10:"UTC-10",mpython_ntptime_timezone_W11:"UTC-11",mpython_ntptime_timezone_W12:"UTC-12",FILE_TO_LIST_HELPURL:"",FILE_TO_LIST_TOOLTIP:"Read the text file content of the specified path (only in UTF-8 format) and converts it to a list format, separated by the selected separator.",FILE_TO_LIST_MESSAGE0:"convert the text file %1 to a list separated by %2",FILE_TO_BIN_HELPURL:"",FILE_TO_BIN_TOOLTIP:"Reads the contents of the file in the specified path in binary format.",FILE_TO_BIN_MESSAGE0:"read the binary content of file %1",MPYTHON_INIT_FILE_HELPURL:"",MPYTHON_INIT_FILE_TOOLTIP:"Initializes a text file, creates a file if it does not exist, and clears the content if it exists.",MPYTHON_INIT_FILE_MESSAGE0:"initialize text file %1",MPYTHON_WRITE_FILE_HELPURL:"",MPYTHON_WRITE_FILE_TOOLTIP:"Writes content to a text file of the specified path, and creates a file if the file does not exist.",MPYTHON_WRITE_FILE_MESSAGE0:"write content %2 to the text file %1 separated by %3",MPYTHON_SDCARD_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",MPYTHON_SDCARD_INIT_TOOLTIP:"sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\nMake sure that the pins of the SPI bus are connected to the micro SD card which is formatted by using the FAT or FAT32 file system.",MPYTHON_SDCARD_INIT_MESSAGE0:"initialize SD card",MPYTHON_SDCARD_MOUNT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",MPYTHON_SDCARD_MOUNT_TOOLTIP:"Mount the SD card to the specified path.",MPYTHON_SDCARD_MOUNT_MESSAGE0:"mount SD card to path %1",MPYTHON_ENTER:"enter",MPYTHON_COMMA:"comma",MPYTHON_SEMICOLON:"semicolon",MPYTHON_SPACE:"space",mpython_def_clock_MESSAGE0:"initialize clock %1 x %2 y %3 radius %4",mpython_def_clock_TOOLTIP:"",mpython_settime_clock_MESSAGE0:"clock %1 read time",mpython_settime_clock_TOOLTIP:"",mpython_draw_clear_clock_MESSAGE0:"%1 clock %2",mpython_draw_clear_clock_TOOLTIP:"",mpython_tinywebio_start_MESSAGE0:"start TinyWebIO service, run in %1",mpython_tinywebio_start_TOOLTIP:"Wi-Fi is required to start the service, and the TinyWebIO service provides a remote control interface for the App Inventor application.",mpython_tinywebio_client_setup_HELPURL:"",mpython_tinywebio_client_setup_TOOLTIP:"Items send to the server (separated by comma)\nbuttona/b Button status\ntouchpadp/y/t/h/o/n Touch button value \nlight Light value\nsound Sound value\naccelerometer Triaxial acceleration value\nid the board identification \ntime timestamp \npind digital IO pin \npina analog IO pin\n----------\nItems read from the server (separated by comma)\nrgb0/ 1/2 RGB lamp bead \noled OLED display \nmusic music \nservo steering gear \npind digital IO pin \npina analog IO pin",mpython_tinywebio_client_setup_MESSAGE0:"setup TinyWebIO client params %1 TinyWebDB server address %2 items send to the server %3 items read from the server %4 access server time interval(ms) %5",mpython_tinywebio_client_action_HELPURL:"",mpython_tinywebio_client_action_TOOLTIP:"",mpython_tinywebio_client_action_MESSAGE0:"%1 TinyWebIO client",mpython_tinywebio_client_action_start:"start",mpython_tinywebio_client_action_stop:"stop",MPYTHON_CUSTOM_CODE_HELPURL:"",MPYTHON_CUSTOM_CODE_TOOLTIP:"",MPYTHON_CUSTOM_CODE_MESSAGE0:"%1 custom code %2 %3",MPYTHON_CUSTOM_TYPE_IMPORT:"topping",MPYTHON_CUSTOM_TYPE_NORMAL:"normal",MPYTHON_CUSTOM_VALUE_MESSAGE0:"custom value %1",mpython_servo_angle0_MESSAGE0:"set the servo %1 angle as %2",mpython_servo_angle_MESSAGE0:"set the servo %1 angle as %2 pulse width from %3 us to %4 us actuation range as %5",mpython_servo_angle_TOOLTIP:"power cable Vcc (red) connected to expansion-board power port V, ground line GND (brown) connected to expansion-board ground port G, control signal line (orange) connected to selected expansion-board pins",mpython_dh11_hum_tem_MESSAGE0:"DHT11 %1 %2",mpython_dh11_hum_tem_TOOLTIP:'"+" on the DHT11 connects the power port of the expansion-board V, "-" connects the ground port of the expansion-board G, "out" connects the pin0 of the expansion-board',MPYTHON_DH22_HUM_TEM_MESSAGE0:"DHT22 %1 %2",MPYTHON_DH22_HUM_TEM_TOOLTIP:"",MPYTHON_DH22_HUM_TEM_HELPURL:"https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",mpython_music_note_MESSAGE0:"note %1 %2 : %3",mpython_music_note_TOOLTIP:"Note, such as C4:4",mpython_return_list_MESSAGE0:"define list %1 = %2",mpython_return_list_TOOLTIP:"",mpython_display_Show_MESSAGE0:"OLED setting take effect",mpython_display_Show_TOOLTIP:"",mpython_display_DispChar_MESSAGE0:"display text %3 at x %1 y %2 text mode %4 %5",mpython_display_DispChar_TOOLTIP:"OLED resolution 128x64",mpython_display_DispChar_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",mpython_display_DispChar_5lines_MESSAGE0:"OLED line %1 shows %2 text mode %3 %4",mpython_display_DispChar_5lines_TOOLTIP:"OLED resolution 128x64",mpython_line1:"1",mpython_line2:"2",mpython_line3:"3",mpython_line4:"4",mpython_line5:"5",MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0:"OLED clear line %1",MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP:"OLED resolution 128x64",MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL:"",mpython_display_fill_0:"clear",mpython_display_fill_1:"full bright",mpython_display_invert_0:"black background",mpython_display_invert_1:"white background",mpython_display_show:"show",mpython_display_fill_MESSAGE0:"OLED display %1",mpython_display_fill_TOOLTIP:"",mpython_display_pixel_0:"dark",mpython_display_pixel_1:"bright",mpython_display_pixel_MESSAGE0:"draw a point x %1 y %2 as %3",mpython_display_pixel_TOOLTIP:"",mpython_display_hline_0:"erase",mpython_display_hline_1:"draw",mpython_display_hline_MESSAGE0:"%1 horizontal line %2 x %3 y %4 length %5",mpython_display_hline_TOOLTIP:"",mpython_ProgressBar_MESSAGE0:"progress bar %1 x %2 y %3 width %4 height %5 progress %6",mpython_ProgressBar_TOOLTIP:"",mpython_stripBar_MESSAGE0:"column bar %1 x %2 y %3 width %4 height %5 progress %6",mpython_stripBar_TOOLTIP:"",MPYTHON_QR_CODE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",MPYTHON_QR_CODE_TOOLTIP:"",MPYTHON_QR_CODE_MESSAGE0:"display QR code %3 at x %1 y %2 with size %4",MPYTHON_DISPLAY_MODE_0:"erase",MPYTHON_DISPLAY_MODE_1:"draw",MPYTHON_DISPLAY_HOLLOW:"hollow",MPYTHON_DISPLAY_SOLID:"solid",MPYTHON_DISPLAY_HVLINE_MESSAGE0:"%1 %2 line %3 x %4 y %5 length %6",MPYTHON_DISPLAY_HVLINE_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0:"%1 %2 rectangle %3 x %4 y %5 width %6 height %7",MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0:"%1 %2 circle %3 x %4 y %5 radius %6",MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0:"%1 %2 triangle %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP:"",MPYTHON_RGB_0:"0 #",MPYTHON_RGB_1:"1 #",MPYTHON_RGB_2:"2 #",MPYTHON_RGB_ALL:"all",MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0:"set %1 RGB light(s) color to %2",MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP:"1/30 of the original brightness can better display the color difference",MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0:"set %1 RGB light(s) color to R%2 G%3 B%4",MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP:"1/30 of the original brightness can better display the color difference",MPYTHON_OFF_RGB_LIST_MESSAGE0:"turn off %1 RGB light(s)",MPYTHON_OFF_RGB_LIST_TOOLTIP:"",MPYTHON_MUSIC_PLAY_MESSAGE0:"play music %1 Pin %2",MPYTHON_MUSIC_PLAY_TOOLTIP:"Play the built-in music",MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0:"play music %1 until end, Pin %2",MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP:"Play the built-in music",MPYTHON_MUSIC_GE_CHANG_ZU_GUO:"GE_CHANG_ZU_GUO",MPYTHON_MUSIC_DONG_FANG_HONG:"DONG_FANG_HONG",MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE:"CAI_YUN_ZHUI_YUE",MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI:"ZOU_JIN_XIN_SHI_DAI",MPYTHON_MUSIC_MO_LI_HUA:"MO_LI_HUA",MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO:"YI_MENG_SHAN_XIAO_DIAO",mpython_display_vline_MESSAGE0:"%1 vertical line %2 x %3 y %4 length %5",mpython_display_vline_TOOLTIP:"",mpython_display_line_MESSAGE0:"%1 line %2 x1 %3 y1 %4 to x2 %5 y2 %6",mpython_display_line_TOOLTIP:"",mpython_display_rect_MESSAGE0:"%1 border %2 x %3 y %4 width %5 height %6",mpython_display_rect_TOOLTIP:"",mpython_display_RoundRect_MESSAGE0:"%1 arc border %2 x %3 y %4 width %5 height %6 radius %7",mpython_display_RoundRect_TOOLTIP:"",mpython_display_fill_rect_MESSAGE0:"%1 rectangle %2 x %3 y %4 width %5 height %6",mpython_display_fill_rect_TOOLTIP:"",mpython_display_fill_circle_MESSAGE0:"%1 solid circle %2 x %3 y %4 radius %5",mpython_display_fill_circle_TOOLTIP:"",mpython_display_circle_MESSAGE0:"%1 hollow circle %2 x %3 y %4 radius %5",mpython_display_circle_TOOLTIP:"",mpython_display_triangle_MESSAGE0:"%1 hollow triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8",mpython_display_triangle_TOOLTIP:"",mpython_display_fill_triangle_MESSAGE0:"%1 solid triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8",mpython_display_fill_triangle_TOOLTIP:"",mpython_display_Bitmap_MESSAGE0:"%1 pattern x %2 y %3 width %4 height %5 with hex image data %6",mpython_display_Bitmap_TOOLTIP:"Display hex image data at a specified position on the OLED screen",MPYTHON_GET_PBM_DATA_MESSAGE0:"get inner image %1 Pattern %2",MPYTHON_GET_PBM_DATA_TOOLTIP:"Supports * .PBM or * .PBM format monochrome image files, retrieves image file data of specified path, and returns a tuple object",MPYTHON_GET_PBM_DATA_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0:"Get custom image%1 mode%2",MPYTHON_DISPLAY_PBM_DATA_MESSAGE0:"display image at x %1 y %2 with data %3",MPYTHON_DISPLAY_PBM_DATA_TOOLTIP:"Monochromatic image files supporting * .PBM or * .PBM formats",MPYTHON_DISPLAY_PBM_DATA_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",MPYTHON_BITMAP_FROM_FILE_MESSAGE0:"display image at x %1 y %2 with data %5 width %3 height %4",MPYTHON_BITMAP_FROM_FILE_TOOLTIP:"",MPYTHON_BITMAP_FROM_FILE_HELPURL:"",mpython_front:"front",mpython_reverse:"reverse",MPYTHON_FONT_DIGIFACE_11:"Digiface 11px",MPYTHON_FONT_DIGIFACE_16:"Digiface 16px",MPYTHON_FONT_DIGIFACE_21:"Digiface 21px",MPYTHON_FONT_DIGIFACE_30:"Digiface 30px",MPYTHON_FONT_DIGIFACE_44:"Digiface 44px",MPYTHON_FONT_DIGIFACE_IT_30:"Digiface Italic 30px",MPYTHON_FONT_DIGIFACE_IT_42:"Digiface Italic 42px",MPYTHON_FONT_DVSM_12:"DejaVu Sans Mono 12px",MPYTHON_FONT_DVSM_16:"DejaVu Sans Mono 16px",MPYTHON_FONT_DVSM_21:"DejaVu Sans Mono 21px",MPYTHON_FONT_DVSMB_12:"DejaVu Sans Mono Bold 12px",MPYTHON_FONT_DVSMB_16:"DejaVu Sans Mono Bold 16px",MPYTHON_FONT_DVSMB_21:"DejaVu Sans Mono Bold 21px",MPYTHON_FONT_WRAP:"auto wrap",MPYTHON_FONT_NO_WRAP:"no wrap",MPYTHON_FACE_1:"Heart",MPYTHON_FACE_2:"Small heart",MPYTHON_FACE_3:"Happy",MPYTHON_FACE_4:"Smile",MPYTHON_FACE_5:"Sad",MPYTHON_FACE_6:"Confused",MPYTHON_FACE_7:"Angry",MPYTHON_FACE_8:"Sleep",MPYTHON_FACE_9:"Surprise",MPYTHON_FACE_10:"Silly",MPYTHON_FACE_11:"Wonderful",MPYTHON_FACE_12:"Bored",MPYTHON_FACE_ROCK:"Rock",MPYTHON_FACE_PAPER:"Paper",MPYTHON_FACE_SCISSORS:"Scissors",MPYTHON_FACE_ROCK_S:"Small rock",MPYTHON_FACE_PAPER_S:"Small paper",MPYTHON_FACE_SCISSORS_S:"Small scissors",MPYTHON_DISPLAY_FONT_MESSAGE0:"display text %3 at x %1 y %2, using %4 font with %5",MPYTHON_DISPLAY_FONT_TOOLTIP:"",MPYTHON_DISPLAY_FONT_HELPURL:"",mpython_button_is_pressed_MESSAGE0:"button %1 is pressed",mpython_button_is_pressed_TOOLTIP:"",mpython_touchPad_value_MESSAGE0:"button %1 is touched",mpython_touchPad_value_TOOLTIP:"",mpython_touchPad_value_num_MESSAGE0:"button %1 touch value",mpython_touchPad_value_num_TOOLTIP:"",mpython_read_digital_MESSAGE0:"pin %1 digital value",mpython_read_digital_TOOLTIP:"",mpython_read_DS18B20_MESSAGE0:"DS18B20 waterproof temperature sensor at pin %1",mpython_read_DS18B20_TOOLTIP:"",mpython_read_DS18B20_HELPURL:"http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",mpython_set_digital_MESSAGE0:"set pin %2 digital value to %1",mpython_set_digital_TOOLTIP:"",mpython_read_analog_MESSAGE0:"pin %1 analog value",mpython_read_analog_TOOLTIP:"",mpython_set_analog_MESSAGE0:"set pin %2 analog value (PWM) to %1",mpython_set_analog_TOOLTIP:"The analog output is a pulse width modulated signal output through the IO pin, which outputs a specified voltage value, referred to as PWM.",mpython_set_RGB_MESSAGE0:"set %1 RGB light color to R %2 G %3 B %4",mpython_set_RGB_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_color_MESSAGE0:"set %1 RGB light color to %2",mpython_set_RGB_color_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_all_MESSAGE0:"set all RGB lights color to R %1 G %2 B %3",mpython_set_RGB_all_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_color_all_MESSAGE0:"set all RGB lights color to %1",mpython_set_RGB_color_all_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_fresh_RGB_MESSAGE0:"RGB lights settings take effect",mpython_fresh_RGB_TOOLTIP:"",mpython_off_RGB_MESSAGE0:"turn off all RGB lights",mpython_off_RGB_TOOLTIP:"",mpython_buzz_state_MESSAGE0:"stop playing music",mpython_buzz_state_TOOLTIP:"",mpython_buzz_freq_MESSAGE0:"play continuous tone %1 at Pin %2",mpython_buzz_freq_TOOLTIP:"",mpython_buzz_tone_MESSAGE0:"play tone %1",mpython_buzz_tone_TOOLTIP:"",MPYTHON_MUSIC_TONE_TEMPO_HELPURL:"",MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP:"The default pin is P6 of the mPython board",MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0:"play musical note %1 at Pin %2",MPYTHON_MUSIC_TONE_HELPURL:"",MPYTHON_MUSIC_TONE_TOOLTIP:"",MPYTHON_MUSIC_TONE_MESSAGE0:"tone %1",MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL:"",MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP:"",MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0:"note %1 beat %2",MPYTHON_MUSIC_TICK_HELPURL:"",MPYTHON_MUSIC_TICK_TOOLTIP:"",MPYTHON_MUSIC_TICK_MESSAGE0:"beat %1",MPYTHON_4_LINES_HELPURL:"",MPYTHON_4_LINES_TOOLTIP:"",MPYTHON_4_LINES_MESSAGE0:"%1",NUMBER_1:"1",NUMBER_1_2:"1/2",NUMBER_1_4:"1/4",NUMBER_2:"2",NUMBER_4:"4",mpython_read_sound_MESSAGE0:"sound value",mpython_read_sound_TOOLTIP:"",mpython_read_light_MESSAGE0:"light value",mpython_read_light_TOOLTIP:"",mpython_accelerometer_get_MESSAGE0:"%1 axis acceleration",mpython_accelerometer_get_TOOLTIP:"",MPYTHON_ACCELEROMETER_RANGE_2G:"±2g",MPYTHON_ACCELEROMETER_RANGE_4G:"±4g",MPYTHON_ACCELEROMETER_RANGE_8G:"±8g",MPYTHON_ACCELEROMETER_RANGE_16G:"±16g",MPYTHON_ACCELEROMETER_RES_10_BIT:"10bits",MPYTHON_ACCELEROMETER_RES_12_BIT:"12bits",MPYTHON_ACCELEROMETER_RES_14_BIT:"14bits",MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP:"Set the acceleration range, the default is ±2g。",MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0:"set acceleration range to %1",MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP:"Set the acceleration resolution, the default is 10bits。",MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0:"set acceleration resolution to %1",MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP:"Calibrate the acceleration value deviation of the three axes (x, y, z) of the accelerometer.\nIn general, calibration is not required, and calibration is only required when the acceleration deviation is large.\nx , y , z are the adjustment deviation values, and the correction range is ±1g.\nNote: Calibration data will not be saved after power off.",MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0:"calibration acceleration value with %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4",MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0:"magnetic force of %1 axis",MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0:"get magnetic heading",MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0:"magnetic calibrate",MPYTHON_MAGNETIC_PEELING_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_PEELING_MESSAGE0:"magnetic peeling",MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0:"get magnetic field strength",MPYTHON_TILT_ANGLE_HELPURL:"",MPYTHON_TILT_ANGLE_TOOLTIP:"",MPYTHON_TILT_ANGLE_MESSAGE0:"%1 axis tilt angle",mpython_random_choice_MESSAGE0:"random item %1",mpython_random_choice_TOOLTIP:"Return a random item in a list or string in String format",MACHINE_TIME_PULSE_US_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",MACHINE_TIME_PULSE_US_MESSAGE0:"duration(us) of external %2 pulse level at %1",MACHINE_TIME_PULSE_US_TOOLTIP:"",BYTES:"bytes",MPYTHON_I2C_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",MPYTHON_I2C_INIT_MESSAGE0:"init i2c with baudrate %1",MPYTHON_I2C_INIT_TOOLTIP:"",MPYTHON_I2C_DEV_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",MPYTHON_I2C_DEV_INIT_MESSAGE0:"init %1 SCL %2 SDA %3 baudrate %4",MPYTHON_I2C_DEV_INIT_TOOLTIP:"",MPYTHON_I2C_SCAN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",MPYTHON_I2C_SCAN_MESSAGE0:"%1 scan result",MPYTHON_I2C_SCAN_TOOLTIP:"Return an array object",MPYTHON_I2C_DEINIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",MPYTHON_I2C_DEINIT_MESSAGE0:"deinit %1",MPYTHON_I2C_DEINIT_TOOLTIP:"",MPYTHON_I2C_WRITETO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_WRITETO_MESSAGE0:"write to %1 %5 address %2 data %3 stop bit %4",MPYTHON_I2C_WRITETO_TOOLTIP:"Address: Number\nData: Number, String",MPYTHON_I2C_READFROM_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_READFROM_MESSAGE0:"read from %1 %5 address %2 bytes num %3 stop bit %4",MPYTHON_I2C_READFROM_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MPYTHON_I2C_READFROM_INTO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_READFROM_INTO_MESSAGE0:"read from %1 %6 address %2 into %3 bytes num %4 stop bit %5",MPYTHON_I2C_READFROM_INTO_TOOLTIP:"",MPYTHON_I2C_WRITETO_MEN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_WRITETO_MEN_MESSAGE0:"write to %1 %5 address %2 mem %4 data %3",MPYTHON_I2C_WRITETO_MEN_TOOLTIP:"Address: Number\nData: Number, String",MPYTHON_I2C_READFROM_MEN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_READFROM_MEN_MESSAGE0:"read from %1 %5 address %2 mem %4 bytes num %3",MPYTHON_I2C_READFROM_MEN_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MPYTHON_I2C_READFROM_MEN_INTO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0:"read from %1 %6 address %2 mem %5 into %3 bytes num %4",MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MICROBIT_CONVERT_BYTEARRAY_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/i2c.html",MICROBIT_CONVERT_BYTEARRAY_TOOLTIP:"",MICROBIT_CONVERT_BYTEARRAY_MESSAGE0:"bytearray %1",AUTH:"Please authorize this app to enable your work to be saved and to allow it to be shared by you.",CHAT:"Chat with your collaborator by typing in this box!",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"remove %2 item in list %1",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"Conversion data type",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"the integer part of the quotient %1 ÷ %2",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"Bitwise operations on numbers",ME:"Me",MPYTHON_PRINT_TO_CHART_TOOLTIP:"",MPYTHON_PRINT_TO_CHART_EMPTY_TITLE:"print data to chart",MPYTHON_PRINT_TO_CHART_INPUT_WITH:"print data to chart",MPYTHON_PRINT_TO_CHART_ITEM_TITLE:"data",MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP:"",MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD:"data content",MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP:"",MPYTHON_INIT_CHART_TOOLTIP:"",MPYTHON_INIT_CHART_EMPTY_TITLE:"init chart column headers",MPYTHON_INIT_CHART_INPUT_WITH:"init chart column headers",MPYTHON_INIT_CHART_ITEM_TITLE:"header",MPYTHON_INIT_CHART_ITEM_TOOLTIP:"",MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD:"column header",MPYTHON_INIT_CHART_CONTAINER_TOOLTIP:"",MICROBIT_IMAGE_CREATE1_MESSAGE0:"create image %1 line 1 %2 line 2 %3 line 3 %4 line 4 %5 line 5 %6",MICROBIT_IMAGE_CREATE1_TOOLTIP:"Create new image.",MICROBIT_IMAGE_CREATE1_HELPURL:"",ADD_COMMENT:"Add Comment",CHANGE_VALUE_TITLE:"Change value:",COLLAPSE_ALL:"Collapse Blocks",COLLAPSE_BLOCK:"Collapse Block",COLOUR_BLEND_COLOUR1:"colour 1",COLOUR_BLEND_COLOUR2:"colour 2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"ratio",COLOUR_BLEND_TITLE:"blend",COLOUR_BLEND_TOOLTIP:"Blends two colours together with a given ratio (0.0 - 1.0).",COLOUR_PICKER_HELPURL:"https://en.wikipedia.org/wiki/Color",COLOUR_PICKER_TOOLTIP:"Choose a colour from the palette.",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"random colour",COLOUR_RANDOM_TOOLTIP:"Choose a colour at random.",COLOUR_RGB_BLUE:"blue",COLOUR_RGB_GREEN:"green",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"red",COLOUR_RGB_TITLE:"colour with",COLOUR_RGB_TOOLTIP:"Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"break out of loop",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"continue with next iteration of loop",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"Break out of the containing loop.",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"Skip the rest of this loop, and continue with the next iteration.",CONTROLS_FLOW_STATEMENTS_WARNING:"Warning: This block may only be used within a loop.",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"for each item %1 in list %2",CONTROLS_FOREACH_TOOLTIP:"For each item in a list, set the variable '%1' to the item, and then do some statements.",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"count with %1 from %2 to %3 by %4",CONTROLS_FOR_TOOLTIP:"Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.",CONTROLS_IF_ELSEIF_TOOLTIP:"Add a condition to the if block.",CONTROLS_IF_ELSE_TOOLTIP:"Add a final, catch-all condition to the if block.",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",CONTROLS_IF_IF_TOOLTIP:"Add, remove, or reorder sections to reconfigure this if block.",CONTROLS_IF_MSG_ELSE:"else",CONTROLS_IF_MSG_ELSEIF:"else if",CONTROLS_IF_MSG_IF:"if",CONTROLS_IF_TOOLTIP_1:"If a value is true, then do some statements.",CONTROLS_IF_TOOLTIP_2:"If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",CONTROLS_IF_TOOLTIP_3:"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.",CONTROLS_IF_TOOLTIP_4:"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.",CONTROLS_REPEAT_HELPURL:"https://en.wikipedia.org/wiki/For_loop",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"repeat %1 times",CONTROLS_REPEAT_TOOLTIP:"Do some statements several times.",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"repeat until",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"repeat while",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"While a value is false, then do some statements.",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"While a value is true, then do some statements.",DELETE_BLOCK:"Delete Block",DELETE_X_BLOCKS:"Delete %1 Blocks",DISABLE_BLOCK:"Disable Block",DUPLICATE_BLOCK:"Duplicate",ENABLE_BLOCK:"Enable Block",EXPAND_ALL:"Expand Blocks",EXPAND_BLOCK:"Expand Block",EXTERNAL_INPUTS:"External Inputs",HELP:"Help",INLINE_INPUTS:"Inline Inputs",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"create empty list",LISTS_CREATE_EMPTY_TOOLTIP:"Returns a list, of length 0, containing no data records",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"list",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or reorder sections to reconfigure this list block.",SET_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or reorder sections to reconfigure this set block.",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"create list with",LISTS_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the list.",LISTS_CREATE_WITH_TOOLTIP:"Create a list with any number of items.",LISTS_GET_INDEX_FIRST:"first",LISTS_GET_INDEX_FROM_END:"# from end",LISTS_GET_INDEX_FROM_START:"#",LISTS_GET_INDEX_GET:"get",LISTS_GET_INDEX_GET_REMOVE:"get and remove",LISTS_GET_INDEX_LAST:"last",LISTS_GET_INDEX_RANDOM:"random",LISTS_GET_INDEX_REMOVE:"remove",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"Returns the first item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_FROM_END:"Returns the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_GET_FROM_START:"Returns the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"Returns the last item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"Returns a random item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"Removes and returns the first item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END:"Removes and returns the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START:"Removes and returns the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"Removes and returns the last item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"Removes and returns a random item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"Removes the first item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END:"Removes the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START:"Removes the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"Removes the last item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"Removes a random item in a list.",LISTS_GET_SUBLIST_END_FROM_END:"to # from end",LISTS_GET_SUBLIST_END_FROM_START:"to #",LISTS_GET_SUBLIST_END_LAST:"to last",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"get sub-list from first",LISTS_GET_SUBLIST_START_FROM_END:"get sub-list from # from end",LISTS_GET_SUBLIST_START_FROM_START:"get sub-list from #",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"Creates a copy of the specified portion of a list.",LISTS_INDEX_OF_FIRST:"find first occurrence of item",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"find last occurrence of item",LISTS_INDEX_OF_TOOLTIP:"Returns the index of the first/last occurrence of the item in the list. Returns 0 if text is not found.",LISTS_INLIST:"in list",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1 is empty",LISTS_ISEMPTY_TOOLTIP:"Returns true if the list is empty.",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"length of %1",LISTS_LENGTH_TOOLTIP:"Returns the length of a list.",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"create list with item %1 repeated %2 times",LISTS_REPEAT_TOOLTIP:"Creates a list consisting of the given value repeated the specified number of times.",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"as",LISTS_SET_INDEX_INSERT:"insert at",LISTS_SET_INDEX_SET:"set",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"Inserts the item at the start of a list.",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END:"Inserts the item at the specified position in a list. #1 is the last item.",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START:"Inserts the item at the specified position in a list. #1 is the first item.",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"Append the item to the end of a list.",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"Inserts the item randomly in a list.",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"Sets the first item in a list.",LISTS_SET_INDEX_TOOLTIP_SET_FROM_END:"Sets the item at the specified position in a list. #1 is the last item.",LISTS_SET_INDEX_TOOLTIP_SET_FROM_START:"Sets the item at the specified position in a list. #1 is the first item.",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"Sets the last item in a list.",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"Sets a random item in a list.",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"make list from text",LISTS_SPLIT_TEXT_FROM_LIST:"make text from list",LISTS_SPLIT_TOOLTIP_JOIN:"Join a list of texts into one text, separated by a delimiter.",LISTS_SPLIT_TOOLTIP_SPLIT:"Split text into a list of texts, breaking at each delimiter.",LISTS_SPLIT_WITH_DELIMITER:"with delimiter",LOGIC_BOOLEAN_FALSE:"false",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"Returns either true or false.",LOGIC_BOOLEAN_TRUE:"true",LOGIC_COMPARE_HELPURL:"https://en.wikipedia.org/wiki/Inequality_(mathematics)",LOGIC_COMPARE_TOOLTIP_EQ:"Return true if both inputs equal each other.",LOGIC_COMPARE_TOOLTIP_GT:"Return true if the first input is greater than the second input.",LOGIC_COMPARE_TOOLTIP_GTE:"Return true if the first input is greater than or equal to the second input.",LOGIC_COMPARE_TOOLTIP_LT:"Return true if the first input is smaller than the second input.",LOGIC_COMPARE_TOOLTIP_LTE:"Return true if the first input is smaller than or equal to the second input.",LOGIC_COMPARE_TOOLTIP_NEQ:"Return true if both inputs are not equal to each other.",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"not %1",LOGIC_NEGATE_TOOLTIP:"Returns true if the input is false. Returns false if the input is true.",LOGIC_NULL:"null",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"Returns null.",LOGIC_OPERATION_AND:"and",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"or",LOGIC_OPERATION_TOOLTIP_AND:"Return true if both inputs are true.",LOGIC_OPERATION_TOOLTIP_OR:"Return true if at least one of the inputs is true.",LOGIC_TERNARY_CONDITION:"test",LOGIC_TERNARY_HELPURL:"https://en.wikipedia.org/wiki/%3F:",LOGIC_TERNARY_IF_FALSE:"if false",LOGIC_TERNARY_IF_TRUE:"if true",LOGIC_TERNARY_TOOLTIP:"Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://en.wikipedia.org/wiki/Arithmetic",MATH_ARITHMETIC_TOOLTIP_ADD:"Return the sum of the two numbers.",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"Return the quotient of the two numbers.",MATH_ARITHMETIC_TOOLTIP_MINUS:"Return the difference of the two numbers.",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"Return the product of the two numbers.",MATH_ARITHMETIC_TOOLTIP_POWER:"Return the first number raised to the power of the second number.",MATH_CHANGE_HELPURL:"https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",MATH_CHANGE_TITLE:"change %1 by %2",MATH_CHANGE_TOOLTIP:"Add a number to variable '%1'.",MATH_CONSTANT_HELPURL:"https://en.wikipedia.org/wiki/Mathematical_constant",MATH_CONSTANT_TOOLTIP:"Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"constrain %1 low %2 high %3",MATH_CONSTRAIN_TOOLTIP:"Constrain a number to be between the specified limits (inclusive).",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"is divisible by",MATH_IS_EVEN:"is even",MATH_IS_NEGATIVE:"is negative",MATH_IS_ODD:"is odd",MATH_IS_POSITIVE:"is positive",MATH_IS_PRIME:"is prime",MATH_IS_TOOLTIP:"Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.",MATH_IS_WHOLE:"is whole",MATH_MODULO_HELPURL:"https://en.wikipedia.org/wiki/Modulo_operation",MATH_MODULO_TITLE:"remainder of %1 ÷ %2",MATH_MODULO_TOOLTIP:"Return the remainder from dividing the two numbers.",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_HELPURL:"https://en.wikipedia.org/wiki/Number",MATH_NUMBER_TOOLTIP:"A number.",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"average of list",MATH_ONLIST_OPERATOR_MAX:"max of list",MATH_ONLIST_OPERATOR_MEDIAN:"median of list",MATH_ONLIST_OPERATOR_MIN:"min of list",MATH_ONLIST_OPERATOR_MODE:"modes of list",MATH_ONLIST_OPERATOR_RANDOM:"random item of list",MATH_ONLIST_OPERATOR_STD_DEV:"standard deviation of list",MATH_ONLIST_OPERATOR_SUM:"sum of list",MATH_ONLIST_TOOLTIP_AVERAGE:"Return the average (arithmetic mean) of the numeric values in the list.",MATH_ONLIST_TOOLTIP_MAX:"Return the largest number in the list.",MATH_ONLIST_TOOLTIP_MEDIAN:"Return the median number in the list.",MATH_ONLIST_TOOLTIP_MIN:"Return the smallest number in the list.",MATH_ONLIST_TOOLTIP_MODE:"Return a list of the most common item(s) in the list.",MATH_ONLIST_TOOLTIP_RANDOM:"Return a random element from the list.",MATH_ONLIST_TOOLTIP_STD_DEV:"Return the standard deviation of the list.",MATH_ONLIST_TOOLTIP_SUM:"Return the sum of all the numbers in the list.",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://en.wikipedia.org/wiki/Random_number_generation",MATH_RANDOM_FLOAT_TITLE_RANDOM:"random fraction",MATH_RANDOM_FLOAT_TOOLTIP:"Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",MATH_RANDOM_INT_HELPURL:"https://en.wikipedia.org/wiki/Random_number_generation",MATH_RANDOM_INT_TITLE:"random integer from %1 to %2",MATH_RANDOM_INT_TOOLTIP:"Return a random integer between the two specified limits, inclusive.",MATH_ROUND_HELPURL:"https://en.wikipedia.org/wiki/Rounding",MATH_ROUND_OPERATOR_ROUND:"round",MATH_ROUND_OPERATOR_ROUNDDOWN:"round down",MATH_ROUND_OPERATOR_ROUNDUP:"round up",MATH_ROUND_TOOLTIP:"Round a number up or down.",MATH_SINGLE_HELPURL:"https://en.wikipedia.org/wiki/Square_root",MATH_SINGLE_OP_ABSOLUTE:"absolute",MATH_SINGLE_OP_ROOT:"square root",MATH_SINGLE_TOOLTIP_ABS:"Return the absolute value of a number.",MATH_SINGLE_TOOLTIP_EXP:"Return e to the power of a number.",MATH_SINGLE_TOOLTIP_LN:"Return the natural logarithm of a number.",MATH_SINGLE_TOOLTIP_LOG10:"Return the base 10 logarithm of a number.",MATH_SINGLE_TOOLTIP_NEG:"Return the negation of a number.",MATH_SINGLE_TOOLTIP_POW10:"Return 10 to the power of a number.",MATH_SINGLE_TOOLTIP_ROOT:"Return the square root of a number.",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://en.wikipedia.org/wiki/Trigonometric_functions",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"Return the arccosine of a number.",MATH_TRIG_TOOLTIP_ASIN:"Return the arcsine of a number.",MATH_TRIG_TOOLTIP_ATAN:"Return the arctangent of a number.",MATH_TRIG_TOOLTIP_COS:"Return the cosine of a degree (not radian).",MATH_TRIG_TOOLTIP_SIN:"Return the sine of a degree (not radian).",MATH_TRIG_TOOLTIP_TAN:"Return the tangent of a degree (not radian).",NEW_VARIABLE:"New variable...",NEW_VARIABLE_TITLE:"New variable name:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"allow statements",PROCEDURES_BEFORE_PARAMS:"with:",PROCEDURES_CALLNORETURN_CALL:"",PROCEDURES_CALLNORETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_CALLNORETURN_TOOLTIP:"Run the user-defined function '%1'.",PROCEDURES_CALLRETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_CALLRETURN_TOOLTIP:"Run the user-defined function '%1' and use its output.",PROCEDURES_CALL_BEFORE_PARAMS:"with:",PROCEDURES_CREATE_DO:"Create '%1'",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"to",PROCEDURES_DEFNORETURN_TOOLTIP:"Creates a function with no output.",PROCEDURES_DEFRETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_DEFRETURN_RETURN:"return",PROCEDURES_DEFRETURN_TOOLTIP:"Creates a function with an output.",PROCEDURES_DEF_DUPLICATE_WARNING:"Warning: This function has duplicate parameters.",PROCEDURES_HIGHLIGHT_DEF:"Highlight function definition",PROCEDURES_IFRETURN_TOOLTIP:"If a value is true, then return a second value.",PROCEDURES_IFRETURN_WARNING:"Warning: This block may be used only within a function definition.",PROCEDURES_MUTATORARG_TITLE:"input name:",PROCEDURES_MUTATORARG_TOOLTIP:"Add an input to the function.",PROCEDURES_MUTATORCONTAINER_TITLE:"inputs",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"Add, remove, or reorder inputs to this function.",REMOVE_COMMENT:"Remove Comment",RENAME_VARIABLE:"Rename variable...",RENAME_VARIABLE_TITLE:"Rename all '%1' variables to:",TEXT_APPEND_APPENDTEXT:"append text",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"to",TEXT_APPEND_TOOLTIP:"Append some text to variable '%1'.",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"to lower case",TEXT_CHANGECASE_OPERATOR_TITLECASE:"to Title Case",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"to UPPER CASE",TEXT_CHANGECASE_TOOLTIP:"Return a copy of the text in a different case.",TEXT_CHARAT_FIRST:"get first letter",TEXT_CHARAT_FROM_END:"get letter # from end",TEXT_CHARAT_FROM_START:"get letter #",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"in text",TEXT_CHARAT_LAST:"get last letter",TEXT_CHARAT_RANDOM:"get random letter",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"Returns the letter at the specified position.",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"Add an item to the text.",TEXT_CREATE_JOIN_TITLE_JOIN:"join",TEXT_CREATE_JOIN_TOOLTIP:"Add, remove, or reorder sections to reconfigure this text block.",TEXT_GET_SUBSTRING_END_FROM_END:"to letter # from end",TEXT_GET_SUBSTRING_END_FROM_START:"to letter #",TEXT_GET_SUBSTRING_END_LAST:"to last letter",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"in text",TEXT_GET_SUBSTRING_START_FIRST:"get substring from first letter",TEXT_GET_SUBSTRING_START_FROM_END:"get substring from letter # from end",TEXT_GET_SUBSTRING_START_FROM_START:"get substring from letter #",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"Returns a specified portion of the text.",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"in text",TEXT_INDEXOF_OPERATOR_FIRST:"find first occurrence of text",TEXT_INDEXOF_OPERATOR_LAST:"find last occurrence of text",TEXT_INDEXOF_TAIL:"",TEXT_INDEXOF_TOOLTIP:"Returns the index of the first/last occurrence of first text in the second text. Returns 0 if text is not found.",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1 is empty",TEXT_ISEMPTY_TOOLTIP:"Returns true if the provided text is empty.",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"create text with",TEXT_JOIN_TOOLTIP:"Create a piece of text by joining together any number of items.",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"length of %1",TEXT_LENGTH_TOOLTIP:"Returns the number of letters (including spaces) in the provided text.",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"print %1",TEXT_PRINT_TOOLTIP:"Print the specified text, number or other value.",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"Prompt for user for a number.",TEXT_PROMPT_TOOLTIP_TEXT:"Prompt for user for some text.",TEXT_PROMPT_TYPE_NUMBER:"prompt for number with message",TEXT_PROMPT_TYPE_TEXT:"prompt for text with message",TEXT_TEXT_HELPURL:"https://en.wikipedia.org/wiki/String_(computer_science)",TEXT_TEXT_TOOLTIP:"A letter, word, or line of text.",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"trim spaces from both sides of",TEXT_TRIM_OPERATOR_LEFT:"trim spaces from left side of",TEXT_TRIM_OPERATOR_RIGHT:"trim spaces from right side of",TEXT_TRIM_TOOLTIP:"Return a copy of the text with spaces removed from one or both ends.",TODAY:"Today",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"Create 'set %1'",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"Returns the value of this variable.",VARIABLES_SET:"set %1 to %2",VARIABLES_SET_CREATE_GET:"Create 'get %1'",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"Sets this variable to be equal to the input."};wF.PROCEDURES_DEFRETURN_TITLE=wF.PROCEDURES_DEFNORETURN_TITLE,wF.CONTROLS_IF_IF_TITLE_IF=wF.CONTROLS_IF_MSG_IF,wF.CONTROLS_WHILEUNTIL_INPUT_DO=wF.CONTROLS_REPEAT_INPUT_DO,wF.CONTROLS_IF_MSG_THEN=wF.CONTROLS_REPEAT_INPUT_DO,wF.PROCEDURES_DEFRETURN_PROCEDURE=wF.PROCEDURES_DEFNORETURN_PROCEDURE,wF.CONTROLS_IF_ELSE_TITLE_ELSE=wF.CONTROLS_IF_MSG_ELSE,wF.PROCEDURES_CALLRETURN_CALL=wF.PROCEDURES_CALLNORETURN_CALL,wF.LISTS_GET_SUBLIST_INPUT_IN_LIST=wF.LISTS_INLIST,wF.LISTS_GET_INDEX_INPUT_IN_LIST=wF.LISTS_INLIST,wF.MATH_CHANGE_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.PROCEDURES_DEFRETURN_DO=wF.PROCEDURES_DEFNORETURN_DO,wF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=wF.CONTROLS_IF_MSG_ELSEIF,wF.LISTS_GET_INDEX_HELPURL=wF.LISTS_INDEX_OF_HELPURL,wF.CONTROLS_FOREACH_INPUT_DO=wF.CONTROLS_REPEAT_INPUT_DO,wF.CONTROLS_FOR_INPUT_DO=wF.CONTROLS_REPEAT_INPUT_DO,wF.LISTS_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_APPEND_VARIABLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.LISTS_INDEX_OF_INPUT_IN_LIST=wF.LISTS_INLIST,wF.LISTS_SET_INDEX_INPUT_IN_LIST=wF.LISTS_INLIST,wF.LISTS_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.TUPLE_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.DICT_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.SET_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_APPEND_VARIABLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.MATH_CHANGE_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.LABPLUS_USB_SWITCH_ON="turn on",wF.LABPLUS_USB_SWITCH_OFF="turn off",wF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="toggle",wF.XUNFEI_SPEECH_TTS_HELPURL="",wF.XUNFEI_SPEECH_TTS_TOOLTIP='The synthesized audio file format can only be "*.pcm"',wF.XUNFEI_SPEECH_TTS_MESSAGE0="[iFLYTEK] synthetic audio %1 APPID %2 APISecret %3 APIKey %4 text %5 transfer to audio file %6",wF.XUNFEI_SPEECH_IAT_HELPURL="",wF.XUNFEI_SPEECH_IAT_TOOLTIP='The audio formats that can be recognized are "*.pcm" and "*.wav"',wF.XUNFEI_SPEECH_IAT_MESSAGE0="[iFLYTEK] identify audio %1 APPID %2 APISecret %3 APIKey %4 audio file to be identified %5",wF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",wF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",wF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[iFLYTEK] identify result",wF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="LARK I2C RGB color",wF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="Returns as list",wF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",wF.MPYTHON_LARK_GET_COLOR_MESSAGE0="LARK I2C RGB color %1",wF.MPYTHON_lARK_RED="RED",wF.MPYTHON__LARK_GREEN="GREEN",wF.MPYTHON__LARK_BLUE="BLUE",wF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="LARK I2C HSV color",wF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="LARK I2C HSV color %1",wF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",wF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="LARK GET COLOR",wF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",wF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="LARK GET COLOR %1",wF.MPYTHON_LARK_RED="RED",wF.MPYTHON_LARK_GREEN="GREEN",wF.MPYTHON_LARK_BLUE="BLUE",wF.MPYTHON_LARK_ORANGE="ORANGE",wF.MPYTHON_LARK_YELLOW="YELLOW",wF.MPYTHON_LARK_PURPLE="PURPLE",wF.MPYTHON_LARK_CYAN="CYAN",wF.MPYTHON_LARK_NONE="NO COLOR",wF.MPYTHON_LARK_NULL="FAIL THE COLOR",wF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",wF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="LARK I2C ultrasonic value",wF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",wF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="LARK I2C SET MOTOR %1 SPEED %2",wF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",wF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="SWIFT HORSE %1 速度 %2",wF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="LARK I2C GET %1 VALUE",wF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="RIGHT",wF.mpython_LARK_GET_LINE_LEFT_ON_I2C="LEFT",wF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="LARK I2C SEARCH TOUCH LINE %1",wF.MPYTHON_LARK_SEARCH_LEFT="LEFT",wF.MPYTHON_LARK_SEARCH_RIGHT="RIGHT",wF.MPYTHON_LARK_SEARCH_LEFT2="ALL",wF.MPYTHON_LARK_SEARCH_RIGHT2="NOT",wF.MPYTHON_LARK_SEARCH_BOTH="ALL",wF.MPYTHON_LARK_SEARCH_NONE="NOT",wF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",wF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="HORSE GET COLOR",wF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",wF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="HORSE GET COLOR %1",wF.MPYTHON_lARK_CAR_RED="RED",wF.MPYTHON__LARK_CAR_GREEN="GREEN",wF.MPYTHON__LARK_CAR_BLUE="BLUE",wF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="HORSE I2C HSV color",wF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="HORSE I2C HSV %1",wF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",wF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="HORSE GET COLOR",wF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",wF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="HORSE GET %1",wF.MPYTHON_LARK_CAR_RED="RED",wF.MPYTHON_LARK_CAR_GREEN="Green",wF.MPYTHON_LARK_CAR_BLUE="Blue",wF.MPYTHON_LARK_CAR_ORANGE="Orange",wF.MPYTHON_LARK_CAR_YELLOW="Yellow",wF.MPYTHON_LARK_CAR_PURPLE="Purple",wF.MPYTHON_LARK_CAR_CYAN="Cyan",wF.MPYTHON_LARK_CAR_NONE="None",wF.MPYTHON_LARK_CAR_NULL="Null",wF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",wF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="Horse Get Ultrasoinc",wF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="HORSE GET %1 LINE VALUE",wF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="RIGHT",wF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="LEFT",wF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="HORSE I2C SEARCH TOUCH LINE %1",wF.MPYTHON_LARK_CAR_SEARCH_LEFT="LEFT TOUCHED",wF.MPYTHON_LARK_CAR_SEARCH_RIGHT="RIGHT TOUCHED",wF.MPYTHON_LARK_CAR_SEARCH_LEFT2="BOTH TOUCHED",wF.MPYTHON_LARK_CAR_SEARCH_NONE="NOT TOUCHED",wF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",wF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="HOSRE MOTION %1 SPEED %2",wF.MPYTHON_LARK_CAR_MOTION_LEFT="Trun Left",wF.MPYTHON_LARK_CAR_MOTION_RIGHT="Trun Right",wF.MPYTHON_LARK_CAR_MOTION_FORWARD="forward",wF.MPYTHON_LARK_CAR_MOTION_BACKWARD="Backward",wF.MPYTHON_LARK_CAR_MOTION_STOP="Stop",wF.MPYTHON_DEFINE_THREAD_MESSAGE0="define thread %1",wF.MPYTHON_RUN_THREAD_MESSAGE0="run thread %1",wF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) convert number to bytes %1 %2 %3 %4 source number %5",wF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) unpack bytes to number %1 %2 %3 %4 source bytes %5",wF.LITTLE_ENDIAN="Little-Endian (Default)",wF.BIG_ENDIAN="Big-Endian",wF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[mPython 2.x] When board is %1",wF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",wF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="tilt left",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="tilt right",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="tilt up",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="tilt down",wF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="face up",wF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="face down",wF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="single click",wF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="double click",wF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="freefall",wF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="roll angle",wF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="pitch angle",wF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",wF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",wF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="Get %1",wF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",wF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",wF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="Button %1 is pressed",wF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",wF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",wF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="Button %1 was pressed",wF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",wF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",wF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="Get number of presses for button %1",wF.MPYTHON2_BUTTON_EVENT_MESSAGE0="When button %1 is %2",wF.MPYTHON2_BUTTON_EVENT_HELPURL="",wF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",wF.MPYTHON2_BUTTON_EVENT_PRESSED="pressed",wF.MPYTHON2_BUTTON_EVENT_RELEASED="released",wF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",wF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="Touchpad %1 is pressed",wF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",wF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="Touchpad %1 was pressed",wF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",wF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="Get number of presses for touchpad %1",wF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",wF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="Touchpad %1 value",wF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="When touchpad %1 is %2",wF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",wF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="pressed",wF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="released",wF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="Set threshold for touchpad %1 as %2",wF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",wF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",wF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",wF.BLE_UUID_TOOLTIP="",wF.BLE_SETUP_PERIPHERAL_HELPURL="",wF.BLE_SETUP_PERIPHERAL_TOOLTIP="",wF.BLE_SETUP_PERIPHERAL_MESSAGE0="make BLE Peripheral object with %1 name %2 Service UUID %3",wF.BLE_ADD_CHARACTERISTIC_HELPURL="",wF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",wF.BLE_ADD_CHARACTERISTIC_MESSAGE0="add BLE Characteristic %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",wF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",wF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",wF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE Peripheral %1",wF.BLE_START_BROADCASTING="start broadcasting",wF.BLE_STOP_BROADCASTING="stop broadcasting",wF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",wF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",wF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="read BLE Peripheral Characteristic %1",wF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",wF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",wF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="write BLE Peripheral Characteristic %1 %2 value %3 Notify %4",wF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",wF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",wF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE Peripheral disconnect",wF.BLE_PERIPHERAL_MAC_HELPURL="",wF.BLE_PERIPHERAL_MAC_TOOLTIP="",wF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE Peripheral MAC address",wF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",wF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",wF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="when BLE Peripheral connect to Centeral %1 connect handle %2 address type %3 Centeral MAC %4",wF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",wF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",wF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="when BLE Characteristic is overwritten %1 connect handle %2 attrubute handle %3 written data %4",wF.BLE_SETUP_CENTERAL_HELPURL="",wF.BLE_SETUP_CENTERAL_TOOLTIP="",wF.BLE_SETUP_CENTERAL_MESSAGE0="make BLE Centeral object with name %1",wF.BLE_CENTERAL_CONNECT_HELPURL="",wF.BLE_CENTERAL_CONNECT_TOOLTIP="",wF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE Centeral connect to %1 %2",wF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",wF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",wF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE Centeral is connected ?",wF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",wF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",wF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="set %1 as connected Peripheral Characteristic object %2 Service UUID %3 Characteristic UUID %4",wF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",wF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",wF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="read connected Peripheral Characteristic %1 value",wF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",wF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",wF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="write connected Peripheral Characteristic %1 value as %2",wF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",wF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",wF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="when received Notify data %1 value handle %2 notify data %3",wF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",wF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",wF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="connected Peripheral info %1",wF.BLE_CENTERAL_CLOSE_HELPURL="",wF.BLE_CENTERAL_CLOSE_TOOLTIP="",wF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE Centeral disconnect",wF.BLE_INFO_NAME="name",wF.BLE_INFO_MAC="mac",wF.BLE_INFO_RSSI="rssi",wF.BLE_INFO_ADDRTYPE="addr_type",wF.BLE_INFO_ADVTYPE="adv_type",wF.BLE_INFO_DATA="data(tuple)",wF.BLE_SETUP_UART_HELPURL="",wF.BLE_SETUP_UART_TOOLTIP="",wF.BLE_SETUP_UART_MESSAGE0="make BLE UART slave with name %1",wF.BLE_UART_IS_CONNECTED_HELPURL="",wF.BLE_UART_IS_CONNECTED_TOOLTIP="",wF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART is connected ?",wF.BLE_UART_ANY_HELPURL="",wF.BLE_UART_ANY_TOOLTIP="",wF.BLE_UART_ANY_MESSAGE0="BLE UART readable bytes",wF.BLE_UART_IRQ_HELPURL="",wF.BLE_UART_IRQ_TOOLTIP="",wF.BLE_UART_IRQ_MESSAGE0="when BLE UART received data %1 do %2",wF.BLE_UART_READ_HELPURL="",wF.BLE_UART_READ_TOOLTIP="message from UART",wF.BLE_UART_READ_MESSAGE0="received data",wF.BLE_UART_WRITE_HELPURL="",wF.BLE_UART_WRITE_TOOLTIP="",wF.BLE_UART_WRITE_MESSAGE0="BLE UART send %1",wF.BLE_UART_CLOSE_HELPURL="",wF.BLE_UART_CLOSE_TOOLTIP="",wF.BLE_UART_CLOSE_MESSAGE0="BLE UART disconnect",wF.BLE_SETUP_UART_MASTER_HELPURL="",wF.BLE_SETUP_UART_MASTER_TOOLTIP="",wF.BLE_SETUP_UART_MASTER_MESSAGE0="make BLE UART master, connect to %1 %2",wF.BLE_SETUP_HID_HELPURL="",wF.BLE_SETUP_HID_TOOLTIP="",wF.BLE_SETUP_HID_MESSAGE0="make BLE HID %1 object %2 name %3 battery %4",wF.BLE_HID_MOUSE="mouse",wF.BLE_HID_KEYBOARD="keyboard",wF.BLE_HID_CONSUMER="consumer",wF.BLE_HID_ADVERTISE_HELPURL="",wF.BLE_HID_ADVERTISE_TOOLTIP="",wF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID %1",wF.BLE_HID_CONNECT_EVENT_HELPURL="",wF.BLE_HID_CONNECT_EVENT_TOOLTIP="",wF.BLE_HID_CONNECT_EVENT_MESSAGE0="when BLE HID connected",wF.BLE_HID_DISCONNECT_HELPURL="",wF.BLE_HID_DISCONNECT_TOOLTIP="",wF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID disconnect",wF.BLE_HID_BATTERY_LEVEL_HELPURL="",wF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",wF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID battery level",wF.BLE_HID_MOUSE_BUTTONS_HELPURL="",wF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",wF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="mouse button %1",wF.BLE_HID_MOUSE_CLICK_HELPURL="",wF.BLE_HID_MOUSE_CLICK_TOOLTIP="",wF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID mouse click %1",wF.BLE_HID_MOUSE_PRESS_HELPURL="",wF.BLE_HID_MOUSE_PRESS_TOOLTIP="",wF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID mouse press %1",wF.BLE_HID_MOUSE_RELEASE_HELPURL="",wF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",wF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID mouse release %1",wF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",wF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",wF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID mouse release all",wF.BLE_HID_MOUSE_MOVE_HELPURL="",wF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - cursor movement, range ±127 .\nwheel - wheel movement, range ±127 .",wF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID mouse cursor move %1 x %2 y %3 wheel %4",wF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",wF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",wF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="keyboard button %1",wF.BLE_HID_KEYBOARD_SEND_HELPURL="",wF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",wF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID keyboard send %1",wF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",wF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",wF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID keyboard send multiple %1 %2 %3",wF.BLE_HID_KEYBOARD_PRESS_HELPURL="",wF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",wF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID keyboard press %1",wF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",wF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",wF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID keyboard release %1",wF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",wF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",wF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID keyboard release all",wF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",wF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",wF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="remote control button %1",wF.BLE_HID_CONSUMER_SEND_HELPURL="",wF.BLE_HID_CONSUMER_SEND_TOOLTIP="",wF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID remote control send %1",wF.BLE_SETUP_IBEACON_HELPURL="",wF.BLE_SETUP_IBEACON_TOOLTIP="",wF.BLE_SETUP_IBEACON_MESSAGE0="make BLE iBeacon object with %1 UUID %2 major %3 minor %4",wF.BLE_IBEACON_ADVERTISE_HELPURL="",wF.BLE_IBEACON_ADVERTISE_TOOLTIP="",wF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon %1",wF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",wF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="Return power in mV",wF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="Voltage(mV) of expansion-board",wF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",wF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="Return the encoded infrared pulse data buff",wF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="Expansion-board generating RAW coding %1 carry_freq(Hz) %2 len %3 repeat_pos %4 code %5 data %6",wF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",wF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="Return the encoded infrared pulse data buff\nUser code: 0~255\nCommand code: 0~255",wF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="Expansion-board generating NEC coding %1 User code %2 Command code %3",wF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",wF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",wF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="Expansion-board sending infrared pulse data %1 %2",wF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="send once",wF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="keep sending",wF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",wF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="",wF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="Expansion-board stop sending infrared pulse data",wF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",wF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="The learning result will be returned after 4 seconds.",wF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="Expansion-board do infrared learning",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="Is there any result for the infrared learning ?",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP='Return the learned "infrared coded data", which must be used after the "learn()" function.',wF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="Expansion-board learned infrared coding data",wF.MPYTHON_MAIN_HELPURL="",wF.MPYTHON_MAIN_TOOLTIP="This block does not have to be used, it just makes the program structure more regular.",wF.MPYTHON_MAIN_MESSAGE0="Main program",wF.MPYTHON_MLX90615_SET_HELPURL="",wF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 set sensor emissivity %1",wF.MPYTHON_MLX90615_SET_TOOLTIP="",wF.MPYTHON_MLX90615_GET_HELPURL="",wF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 get sensor emissivity",wF.MPYTHON_MLX90615_GET_TOOLTIP="",wF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",wF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 measured temperature",wF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",wF.MPYTHON_MQ135_INIT_HELPURL="",wF.MPYTHON_MQ135_INIT_MESSAGE0="initialize MQ135 at output pin %1 temperature %2 ℃ humidity%3 %",wF.MPYTHON_MQ135_INIT_TOOLTIP="V(VCC) is connected to the power port of the expansion board, G(GND) is connected to the ground port of the expansion board, and AO is connected to the pin of the expansion board\nMQ135 is used to detect the concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases in the air.",wF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 return %1",wF.MPYTHON_MQ135_OPTIONS_HELPURL="",wF.MPYTHON_MQ135_OPTIONS_TOOLTIP="",wF.MPYTHON_MQ135_GET_RZERO="correction of sensor resistance",wF.MPYTHON_MQ135_GET_CORRECTED_RZERO="calibrate sensor resistance (calibrate temperature and humidity)",wF.MPYTHON_MQ135_GET_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",wF.MPYTHON_MQ135_GET_CORRECTED_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",wF.mpython_gyroscope_get_HELPURL="",wF.mpython_gyroscope_get_MESSAGE0="%1 axis angular velocity",wF.mpython_gyroscope_get_TOOLTIP="Only applicable to the mPython board version above v2.3",wF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",wF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",wF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",wF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",wF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",wF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",wF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",wF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",wF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",wF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="Default is ±256dps. Only applicable to the mPython board version above v2.3",wF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="set angular velocity range to %1",wF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",wF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="Only applicable to the mPython board version above v2.3",wF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="calibration angular velocity value %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4";const WF=wF;Object.assign(a_.Variables,L_),Object.assign(a_.Procedures,xi),a_.Python=eO,a_.generator=eO,p_.Profile.default={},Object.assign(p_.Profile,MG),Object.assign(p_.Profile.default,MG["ESP32 Generic"]),Object.assign(a_.Lang.ZhHans,XF),Object.assign(a_.Lang.ZhHant,kF),Object.assign(a_.Lang.En,WF),Object.assign(a_.Blocks,t,e,i,T,E,n,o,s,O,I,a,p,M,y,k,V,g,f,w,D,X,v,x,b,Y,H,c,G,B,F,U,O_),Object.assign(a_.Python.forBlock,L,R,r,S,l,A,P,N,d,u,h,m,C,__,o_,n_,J,t_,s_,z,E_,T_,i_,e_,Z,K,W,j,q,$,Q,I_)})(); \ No newline at end of file +class R_{constructor(_,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),_)for(var e=_.split(","),i=0;i0;T--)t.getInputTargetBlock("IF"+T)&&t.getInputTargetBlock("IF"+T).previousConnection?e[T]=t.getInputTargetBlock("IF"+T).previousConnection:e[T]=null,this.removeInput("IF"+T),t.getInputTargetBlock("DO"+T)&&t.getInputTargetBlock("DO"+T).previousConnection?i[T]=t.getInputTargetBlock("DO"+T).previousConnection:i[T]=null,this.removeInput("DO"+T);this.elseifCount_=parseInt(_.getAttribute("elseif"),10),this.elseCount_=parseInt(_.getAttribute("else"),10);for(T=1;T<=this.elseifCount_;T++)this.appendValueInput("IF"+T).setCheck([Boolean,Number]).appendField(a_.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+T).appendField(a_.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.CONTROLS_IF_MSG_ELSE);for(T=e.length-2;T>0;T--)e[T]&&e[T].reconnect(this,"IF"+T);for(T=i.length-2;T>0;T--)i[T]&&i[T].reconnect(this,"DO"+T)},decompose:function(_){var t=_.newBlock("controls_if_if");t.initSvg();for(var e=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var T=_.newBlock("controls_if_elseif");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}if(this.elseCount_){var E=_.newBlock("controls_if_else");E.initSvg(),e.connect(E.previousConnection)}return t},compose:function(_){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var e=_.getInputTargetBlock("STACK"),i=[null],T=[null],E=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,i.push(e.valueConnection_),T.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,E=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,T,E)},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+e),T=this.getInput("DO"+e);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=T&&T.connection.targetConnection,e++;break;case"controls_if_else":T=this.getInput("ELSE");t.statementConnection_=T&&T.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var _=[null],t=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var T=this.getInput("IF"+i),E=this.getInput("DO"+i);console.log(T.connection.targetConnection),_.push(T.connection.targetConnection),t.push(E.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(_,t,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var _=1;this.getInput("IF"+_);)this.removeInput("IF"+_),this.removeInput("DO"+_),_++;for(_=1;_<=this.elseifCount_;_++)this.appendValueInput("IF"+_).setCheck([Number,Boolean]).appendField(a_.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+_).appendField(a_.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(_,t,e){for(var i=1;i<=this.elseifCount_;i++)_[i]&&_[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);e&&e.reconnect(this,"ELSE")}},Y_={init:function(){this.setColour(h_),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PYTHON_RANGE).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},U_={init:function(){this.setColour(h_),this.appendValueInput("LIST").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(a_.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},g_={init:function(){this.setColour(h_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new a_.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return{WHILE:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},B_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var _=document.createElement("mutation");return this.elseifCount_&&_.setAttribute("elseif",this.elseifCount_),this.elseCount_&&_.setAttribute("else",1),_},domToMutation:function(_){var t=this,e=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var T=this.elseifCount_;T>0;T--)t.getInputTargetBlock("IF"+T)&&t.getInputTargetBlock("IF"+T).previousConnection?e[T]=t.getInputTargetBlock("IF"+T).previousConnection:e[T]=null,this.removeInput("IF"+T),t.getInputTargetBlock("DO"+T)&&t.getInputTargetBlock("DO"+T).previousConnection?i[T]=t.getInputTargetBlock("DO"+T).previousConnection:i[T]=null,this.removeInput("DO"+T);this.elseifCount_=parseInt(_.getAttribute("elseif"),10),this.elseCount_=parseInt(_.getAttribute("else"),10);for(T=1;T<=this.elseifCount_;T++)this.appendValueInput("IF"+T).setCheck([Boolean,Number]).appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+T).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.MIXLY_PYTHON_FINALLY);for(T=e.length-2;T>0;T--)e[T]&&e[T].reconnect(this,"IF"+T);for(T=i.length-2;T>0;T--)i[T]&&i[T].reconnect(this,"DO"+T)},decompose:function(_){var t=_.newBlock("controls_try");t.initSvg();for(var e=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var T=_.newBlock("controls_except");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}if(this.elseCount_){var E=_.newBlock("controls_finally");E.initSvg(),e.connect(E.previousConnection)}return t},compose:function(_){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var e=_.getInputTargetBlock("STACK"),i=[null],T=[null],E=null;e;){switch(e.type){case"controls_except":this.elseifCount_++,i.push(e.valueConnection_),T.push(e.statementConnection_);break;case"controls_finally":this.elseCount_++,E=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,T,E)},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+e),T=this.getInput("DO"+e);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=T&&T.connection.targetConnection,e++;break;case"controls_finally":T=this.getInput("ELSE");t.statementConnection_=T&&T.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var _=[null],t=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var T=this.getInput("IF"+i),E=this.getInput("DO"+i);console.log(T.connection.targetConnection),_.push(T.connection.targetConnection),t.push(E.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(_,t,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var _=1;this.getInput("IF"+_);)this.removeInput("IF"+_),this.removeInput("DO"+_),_++;for(_=1;_<=this.elseifCount_;_++)this.appendValueInput("IF"+_).setCheck([Number,Boolean]).appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+_).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(_,t,e){for(var i=1;i<=this.elseifCount_;i++)_[i]&&_[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);e&&e.reconnect(this,"ELSE")}},G_={init:function(){this.setColour(h_);var _=new a_.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(_,"FLOW").appendField(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var _=t.getFieldValue("FLOW");return{BREAK:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[_]}))},onchange:function(){if(this.workspace){var _=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){_=!0;break}t=t.getSurroundParent()}while(t);_?this.setWarningText(null):this.setWarningText(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},F_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new a_.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){return a_.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",_.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},y_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new a_.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){return a_.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",_.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};g_.OPERATORS=[[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],G_.OPERATORS=[[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const f_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},b_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},x_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},v_={init:function(){this.setColour(h_),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},X_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},V_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},k_={init:function(){this.jsonInit({message0:a_.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:h_,tooltip:a_.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:a_.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},w_={init:function(){this.setColour(h_),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_STAT),this.setOutput(!0)}},W_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},K_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},z_={init:function(){this.appendDummyInput().appendField(a_.Msg.CONTROLS_REPEAT_TITLE_REPEAT+a_.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(a_.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new a_.FieldDropdown([[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(h_),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Z_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Q_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},J_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},q_={init:function(){this.setColour(h_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_GET_UNIQUE_IDEN)}},j_=230;a_.FieldTextInput.math_number_validator=function(_){return String(_)},a_.FieldTextInput.math_number_validator_include_blank=function(_){if(""===_)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(_)?String(_):null};const $_={init:function(){this.setColour(j_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},_t={init:function(){this.setColour(j_);this.appendDummyInput("").appendField(a_.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new a_.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var _=this;this.setTooltip((function(){var t=_.getFieldValue("CONSTANT");return{pi:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},tt={init:function(){this.setColour(j_);this.appendDummyInput("").appendField(a_.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new a_.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var _=this;this.setTooltip((function(){var t=_.getFieldValue("CONSTANT");return{pi:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},et={init:function(){this.setColour(j_),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{ADD:a_.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:a_.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:a_.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},it={init:function(){this.setColour(j_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{ADD:a_.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:a_.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:a_.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Tt={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new a_.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Et={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new a_.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{SIN:a_.Msg.MATH_TRIG_TOOLTIP_SIN,COS:a_.Msg.MATH_TRIG_TOOLTIP_COS,TAN:a_.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:a_.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:a_.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:a_.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:a_.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},nt={init:function(){var _=[[a_.Msg.MATH_BIN,"bin"],[a_.Msg.MATH_OCT,"oct"],[a_.Msg.MATH_HEX,"hex"]];this.setColour(j_),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new a_.FieldDropdown(_),"OP");var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{bin:a_.Msg.MATH_DEC_TOOLTIP_BIN,oct:a_.Msg.MATH_DEC_TOOLTIP_OCT,hex:a_.Msg.MATH_DEC_TOOLTIP_HEX}[_]}))}},ot={init:function(){var _=[[a_.Msg.LANG_MATH_TO_ROUND,"round"],[a_.Msg.LANG_MATH_TO_CEIL,"ceil"],[a_.Msg.LANG_MATH_TO_FLOOR,"floor"],[a_.Msg.MATH_ABS,"fabs"],[a_.Msg.MATH_SQRT,"sqrt"]];this.setColour(j_),this.appendValueInput("A").setCheck(Number).appendField(new a_.FieldDropdown(_),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{sqrt:a_.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:a_.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:a_.Msg.MATH_SINGLE_TOOLTIP_SQ,round:a_.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:a_.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:a_.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[_]}))}},st={init:function(){var _=[[a_.Msg.MIXLY_MAX,"max"],[a_.Msg.MIXLY_MIN,"min"]];this.setColour(j_),this.appendValueInput("A").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown(_),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{max:a_.Msg.MIXLY_TOOLTIP_MATH_MAX,min:a_.Msg.MIXLY_TOOLTIP_MATH_MIN}[_]}))}},Ot={init:function(){var _=[[a_.Msg.MATH_TWO,"two"],[a_.Msg.MATH_EIGHT,"eight"],[a_.Msg.MATH_TEN,"ten"],[a_.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(j_),this.appendDummyInput("").appendField(a_.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new a_.FieldDropdown(_),"OP").appendField(a_.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MATH_ZHW).appendField(new a_.FieldDropdown(_),"OP2").appendField(a_.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e={two:a_.Msg.MATH_Before_two,eight:a_.Msg.MATH_Before_eight,ten:a_.Msg.MATH_Before_ten,sixteen:a_.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),T={two:a_.Msg.MATH_Behind_two,eight:a_.Msg.MATH_Behind_eight,ten:a_.Msg.MATH_Behind_ten,sixteen:a_.Msg.MATH_Behind_sixteen};return e[_]+T[i]}))}},It={init:function(){var _=[[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(j_),this.setOutput(!0,Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_RANDOM).appendField(new a_.FieldDropdown(_),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TYPE"),e={int:a_.Msg.LANG_MATH_INT,float:a_.Msg.LANG_MATH_FLOAT_RANDOM};return a_.Msg.MATH_RANDOM_INT_TOOLTIP+e[_]}))}},at={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(a_.Msg.MATH_CONSTRAIN_TOOLTIP)}},pt={init:function(){this.setColour(j_),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(a_.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(a_.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Mt={init:function(){this.setColour(j_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},Lt={init:function(){this.setColour(j_),this.appendValueInput("NUM").setCheck(Number).appendField(a_.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Rt={init:function(){this.setColour(j_),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MATH_ROUND).appendField(a_.Msg.TEXT_KEEP),this.appendDummyInput().appendField(a_.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(a_.Msg.MATH_ROUND_NEW_TOOLTIP)}},rt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"],[a_.Msg.MIXLY_TO_BITES,"b"]];this.setColour(j_),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{int:a_.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:a_.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:a_.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[_]}))}},St={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(j_),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{int:a_.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:a_.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[_]}))}},lt=pt,At=160,Pt={init:function(){this.setColour(At),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(a_.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(_){if(_==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new a_.FieldImage(t,12,12,'"')}},Nt={init:function(){this.setColour(At),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(a_.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(_){if(_==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new a_.FieldImage(t,12,12,'"')}};a_.FieldTextInput.char_validator=function(_){if(_.length>1&&"\\"===_.charAt(0)){var t=_.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(_).substring(0,2);if("x"===t&&"0"===_.charAt(2)&&"B"===_.charAt(3))return String(_).substring(0,4)}return String(_).substring(0,1)};const dt={init:function(){this.setColour(At),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldTextInput("",a_.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(a_.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(_){if(1==_)var t="../../media/quote2.png";else t="../../media/quote3.png";return new a_.FieldImage(t,7,12,'"')}},ut={init:function(){this.setColour(At),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(a_.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ht={init:function(){this.setColour(At),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},mt={init:function(){this.setColour(At),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ct={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ct={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ht={init:function(){this.WHERE_OPTIONS=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.TEXT_GET_INDEX_RANDOM+1+a_.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.LISTS_GET_INDEX_GET,"MODE"),a_.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(a_.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=_.getFieldValue("WHERE"),i="";switch(t+" "+e){case"GET FROM_START":case"GET FROM_END":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=e&&"FROM_END"!=e||(i+=" "+a_.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",a_.Msg.ONE_BASED_INDEXING?"#1":"#0")),i}));var t=this;this.setTooltip((function(){var _=t.getFieldValue("WHERE"),e={FROM_START:a_.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:a_.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:a_.Msg.TEXT_GET_INDEX_RANDOM};return a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+e[_]+"n"+a_.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var _=document.createElement("mutation");_.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==a_.INPUT_VALUE;return _.setAttribute("at",t),_},domToMutation:function(_){var t="true"==_.getAttribute("statement");this.updateStatement_(t),_="false"!=_.getAttribute("at"),this.updateAt_(_)},updateStatement_:function(_){_!=!this.outputConnection&&(this.unplug(!0,!0),_?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(_){this.removeInput("AT"),this.removeInput("ORDINAL",!0),_?(this.appendValueInput("AT").setCheck(Number),a_.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(a_.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new a_.FieldDropdown(this.WHERE_OPTIONS,(function(t){var e="FROM_START"==t||"FROM_END"==t;if(e!=_){var i=this.sourceBlock_;return i.updateAt_(e),i.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),a_.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Dt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.LISTS_GET_INDEX_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+a_.Msg.LISTS_GET_INDEX_FROM_START+"n"+a_.Msg.TEXT_CHARAT2)}},Yt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(a_.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(a_.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ut={init:function(){this.WHERE_OPTIONS_1=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[a_.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(a_.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT1").type==a_.INPUT_VALUE;_.setAttribute("at1",t);var e=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",e),_},domToMutation:function(_){var t="true"==_.getAttribute("at1"),e="true"==_.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(_,t){this.removeInput("AT"+_),this.removeInput("ORDINAL"+_,!0),t?(this.appendValueInput("AT"+_).setCheck(Number),a_.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+_).appendField(a_.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+_);var e=new a_.FieldDropdown(this["WHERE_OPTIONS_"+_],(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var T=this.sourceBlock_;return T.updateAt_(_,i),T.setFieldValue(e,"WHERE"+_),null}}));this.getInput("AT"+_).appendField(e,"WHERE"+_),1==_&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},gt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(a_.Msg.LISTS_GET_INDEX_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(a_.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(a_.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Bt={init:function(){var _=[[a_.Msg.MIXLY_EQUALS,"==="],[a_.Msg.MIXLY_STARTSWITH,"startswith"],[a_.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(At),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new a_.FieldDropdown(_),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Gt={init:function(){this.setColour(At),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(a_.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_COMPARETO_HELP)}},Ft={init:function(){var _=[[a_.Msg.TEXT_UPPER,"upper"],[a_.Msg.TEXT_TITLE,"title"],[a_.Msg.TEXT_CAPITALIZE,"capitalize"],[a_.Msg.TEXT_SWAPCASE,"swapcase"],[a_.Msg.TEXT_LOWER,"lower"]];this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown(_),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("CAPITAL");return{upper:a_.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:a_.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:a_.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:a_.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:a_.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[_]}))}},yt={init:function(){var _=[[a_.Msg.TEXT_LJUST,"ljust"],[a_.Msg.TEXT_CENTER,"center"],[a_.Msg.TEXT_RJUST,"rjust"]];this.setColour(At),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(a_.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ft={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(a_.Msg.MIXLY_MID+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(a_.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},bt={init:function(){this.setColour(At),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},xt={init:function(){this.setColour(At),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(a_.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(a_.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},vt={init:function(){this.setColour(At),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(a_.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(a_.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Xt={init:function(){var _=[[a_.Msg.TEXT_TRIM_BOTH,"strip"],[a_.Msg.TEXT_TRIM_LEFT,"lstrip"],[a_.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(At),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.appendDummyInput("").appendField(a_.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{strip:a_.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:a_.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:a_.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[_]}))}},Vt={init:function(){this.setColour(At),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new a_.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("text_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;it?_[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},be={init:function(){this.setColour(ye),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},xe={init:function(){this.setColour(ye),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ve={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_KEYS),this.setTooltip(a_.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xe={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(a_.Msg.DICTS_GET_TOOLTIP)}},Ve={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(a_.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(a_.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ke={init:function(){this.setColour(ye),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(a_.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},we={init:function(){this.setColour(ye),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_DELETE_TOOLTIP)}},We={init:function(){this.setColour(ye),this.appendValueInput("DICT2").setCheck("Dict").appendField(a_.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(a_.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MID),this.setTooltip(a_.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ke={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_CLEAR),this.setTooltip(a_.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ze={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_ITEMS),this.setTooltip(a_.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ze={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_VALUES),this.setTooltip(a_.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Qe={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setTooltip(a_.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Je={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_DELDICT),this.setTooltip(a_.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qe={init:function(){this.MODE=[[a_.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[a_.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(a_.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t="";switch(_.getFieldValue("WHERE")){case"INSERT":t=a_.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=a_.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",t),_},domToMutation:function(_){var t="true"==_.getAttribute("at2");this.updateAt_(t)},updateAt_:function(_){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),_?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new a_.FieldDropdown(this.MODE,(function(t){var e="INSERT"==t;if(e!=_){var i=this.sourceBlock_;return i.updateAt_(e),i.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},je={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.setTooltip(a_.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},$e={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(a_.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_SETDEFAULT_TOOLTIP)}},_i={init:function(){this.setColour(ye),this.appendDummyInput("").appendField(new a_.FieldLabel(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new a_.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("dicts_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;it?_[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ti={init:function(){this.setColour(ye),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},ei={init:function(){this.setColour(ye),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TO_JSON),this.setTooltip(a_.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ii={init:function(){this.setColour(ye),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(a_.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Ti=210,Ei={init:function(){var _=a_.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{EQ:a_.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:a_.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:a_.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:a_.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:a_.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:a_.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[_]})),this.prevBlocks_=[null,null]}},ni={init:function(){var _=a_.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=a_.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP1"),this.appendValueInput("C").appendField(new a_.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},oi={init:function(){var _=[[a_.Msg.LOGIC_OPERATION_AND,"AND"],[a_.Msg.LOGIC_OPERATION_OR,"OR"],[a_.Msg.LOGIC_OPERATION_NOR,"NOR"],[a_.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{AND:a_.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:a_.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:a_.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:a_.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[_]}))}},si={init:function(){this.setColour(Ti),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(a_.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(a_.Msg.LOGIC_NEGATE_TOOLTIP)}},Oi={init:function(){var _=[[a_.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[a_.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Ti),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new a_.FieldDropdown(_),"BOOL"),this.setTooltip(a_.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Ii={init:function(){this.setColour(Ti),this.setOutput(!0),this.appendDummyInput().appendField(a_.Msg.LOGIC_NULL),this.setTooltip(a_.Msg.LOGIC_NULL_TOOLTIP)}},ai={init:function(){this.setColour(Ti),this.appendValueInput("A"),this.appendValueInput("B").appendField(a_.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(a_.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},pi={init:function(){var _=[[a_.Msg.TEXT_APPEND_TO,"in"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Ti),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new a_.FieldDropdown(_),"BOOL"),this.appendDummyInput("").appendField(a_.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.IN)}},Mi={init:function(){var _=[[a_.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Ti),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Li={init:function(){this.setColour(Ti),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Ri={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(a_.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ri={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Si={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG,n=a_.Msg.PY_STORAGE_FILE_OBJECT;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T+n}))}},li={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(a_.Msg.MIXPY_TEXT_ENCODE).appendField(new a_.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG,n=a_.Msg.PY_STORAGE_FILE_OBJECT;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T+n}))}},Ai={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Pi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Ni={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return e+{read:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i}))}},di={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(a_.Msg.MICROBIT_PYTHON_TYPE)}},ui={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.HTML_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},hi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},mi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Ci={init:function(){this.setColour(0),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const ci={init:function(){this.setColour(0),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Di={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Yi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return e+" "+{start:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+T+"x"+i}))}},Ui={init:function(){this.setColour(0),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},gi={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+a_.Msg.MIXLY_ESP32_SET+{mkdir:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Bi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(a_.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Gi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Fi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.HTML_FILE,"isfile"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},yi={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(a_.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fi={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(a_.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},bi={};bi.NAME_TYPE=a_.PROCEDURE_CATEGORY_NAME,bi.allProcedures=function(_){for(var t=_.getAllBlocks(!1),e=[],i=[],T=0;T"),this.appendValueInput("style").appendField(a_.Msg.MIXLY_AIP_ATTR).setAlign(a_.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(a_.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},GT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(a_.Msg.HTML_FORM_CONTENT).appendField(new a_.FieldDropdown([[a_.Msg.HTML_TEXT,"text"],[a_.Msg.HTML_EMAIL,"email"],[a_.Msg.HTML_NUMBER,"number"],[a_.Msg.HTML_PASSWORD,"password"],[a_.Msg.HTML_CHECKBOX,"checkbox"],[a_.Msg.HTML_RADIOBUTTON,"radiobutton"],[a_.Msg.HTML_BUTTON,"button"],[a_.Msg.HTML_COLOUR,"colour"],[a_.Msg.HTML_DATE,"date"],[a_.Msg.HTML_LOCALTIME,"local time"],[a_.Msg.HTML_FILE,"file"],[a_.Msg.HTML_HIDDEN,"hidden"],[a_.Msg.HTML_IMAGE,"image"],[a_.Msg.HTML_MONTH,"month"],[a_.Msg.HTML_RANGE,"range"],[a_.Msg.HTML_RESET,"reset"],[a_.Msg.HTML_SEARCH,"search"],[a_.Msg.HTML_SUBMIT,"submit"],[a_.Msg.HTML_TELEPHONENUMBER,"telephone number"],[a_.Msg.HTML_TIME,"time"],[a_.Msg.HTML_URL,"url"],[a_.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(a_.Msg.HTML_NAME).appendField(new a_.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(a_.Msg.HTML_VALUE).appendField(new a_.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(a_.Msg.MIXLY_AIP_ATTR).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fT={init:function(){this.setColour(cT),this.appendDummyInput().appendField(a_.Msg.HTML_TEXT).appendField(new a_.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bT=160,xT={init:function(){this.setColour(bT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new a_.FieldTable(""),"TEXT")}},vT={init:function(){this.setColour(bT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT")}},XT={init:function(){this.setColour(bT),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},VT={init:function(){this.setColour(bT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},kT={init:function(){this.setColour(bT),this.appendDummyInput().appendTitle("Comment:").appendTitle(new a_.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},wT={init:function(){this.setColour(bT),this.appendValueInput("VALUE").appendField(a_.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},WT={init:function(){this.setColour(bT),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=a_.Block.obtain(_,"text_print_multiple_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(_=function(_,t,e){return"("+_+" <= "+t+") and "+s()+"("+_+", "+t+", "+e+") or "+O()+"("+_+", "+t+", "+e+")"},a_.isNumber(i)&&a_.isNumber(T)&&a_.isNumber(E))i=parseFloat(i),T=parseFloat(T),E=Math.abs(parseFloat(E)),0==i%1&&0==T%1&&0==E%1?(i<=T?(T++,_=0==i&&1==E?T:i+", "+T,1!=E&&(_+=", "+E)):_=i+", "+--T+", -"+E,_="range("+_+")"):(_=i",GTE:">="};const Yo=function(_,t){var e=this.getFieldValue("OP"),i="&&"==e?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,T=t.valueToCode(this,"A",i)||"False",E=t.valueToCode(this,"B",i)||"False";if("AND"==e)var n=T+" and "+E;else if("OR"==e)n=T+" or "+E;else if("NOR"==e)n="not("+T+"^"+E+")";else n=T+"^"+E;return[n,i]},Uo=function(_,t){var e=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",e)||"False"),e]},go=function(_,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Bo=function(_,t){return["None",t.ORDER_ATOMIC]},Go=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+e+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Fo=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[e+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},yo=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[e+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},fo=function(_,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},bo=function(_,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},xo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},vo=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Xo=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Vo=function(_,t){var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+e+")\n"},ko=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},wo=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Wo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ko=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},zo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Zo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Qo=function(_,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Jo=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},qo=function(_,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},jo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},$o=function(_,t){var e=this.getFieldValue("MODE"),i=0;return i="start"==e?0:"current"==e?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},_s=function(_,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ts=function(_,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},es=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},is=function(_,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ts=function(_,t){t.definitions_.import_os="import os";var e=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+e+")",t.ORDER_ATOMIC]},Es=function(_,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},ns=function(_,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},os=function(_,t){var e=t.variableDB_.getName(this.getFieldValue("NAME"),a_.Procedures.NAME_TYPE),i=t.statementToCode(this,"STACK")||" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var T=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";T&&(T=" return "+T+"\n");for(var E=[],n=0;n\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Xs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+e+"\n"},Vs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var T="<"+i+'>\n\t\n'+e+"\n";else T="<"+i+">\n"+e+"\n";return T},ks=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+e+"\n"},ws=function(_,t){var e=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),T=this.getFieldValue("LEVEL");return"<"+T+" "+i+" >\n"+e+"\n"},Ws=function(_,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Ks=function(_,t){return'"},zs=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zs=function(){return this.getFieldValue("TEXT")+"\n"},Qs=function(_){return _.getFieldValue("TEXT")+"\n"},Js=function(_,t){return[_.getFieldValue("TEXT"),t.ORDER_ATOMIC]},qs=function(_,t){return(t.valueToCode(_,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},js=function(){return""},$s=function(_,t){return["type("+(t.valueToCode(_,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},_O=function(_,t){for(var e=_.getFieldValue("NAME"),i=_.hasReturn_,T=new Array(_.itemCount_),E=0;E<_.itemCount_;E++)T[E]=t.valueToCode(_,"ARGUMENT"+E,t.ORDER_NONE)||"___";var n=e+"("+T.join(", ")+")";return i?[n,t.ORDER_ATOMIC]:n+"\n"},tO=function(_,t){var e=t.valueToCode(_,"MODULE",t.ORDER_ATOMIC),i=t.valueToCode(_,"NAME",t.ORDER_ATOMIC);return[e+"."+(i=i.substring(1,i.length-1)),t.ORDER_NONE]},eO=new a_.Generator("Python");eO.INDENT=" ",eO.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),eO.ORDER_ATOMIC=0,eO.ORDER_COLLECTION=1,eO.ORDER_STRING_CONVERSION=1,eO.ORDER_UNARY_POSTFIX=1,eO.ORDER_UNARY_PREFIX=2,eO.ORDER_MEMBER=2.1,eO.ORDER_FUNCTION_CALL=2.2,eO.ORDER_EXPONENTIATION=3,eO.ORDER_UNARY_SIGN=4,eO.ORDER_BITWISE_NOT=4,eO.ORDER_MULTIPLICATIVE=5,eO.ORDER_ADDITIVE=6,eO.ORDER_BITWISE_SHIFT=7,eO.ORDER_BITWISE_AND=8,eO.ORDER_BITWISE_XOR=9,eO.ORDER_BITWISE_OR=10,eO.ORDER_RELATIONAL=11,eO.ORDER_EQUALITY=11,eO.ORDER_LOGICAL_NOT=12,eO.ORDER_LOGICAL_AND=13,eO.ORDER_LOGICAL_OR=14,eO.ORDER_ASSIGNMENT=14,eO.ORDER_CONDITIONAL=15,eO.ORDER_LAMBDA=16,eO.ORDER_NONE=99,eO.ORDER_OVERRIDES=[[eO.ORDER_FUNCTION_CALL,eO.ORDER_MEMBER],[eO.ORDER_FUNCTION_CALL,eO.ORDER_FUNCTION_CALL],[eO.ORDER_MEMBER,eO.ORDER_MEMBER],[eO.ORDER_MEMBER,eO.ORDER_FUNCTION_CALL]],eO.init=function(){eO.PASS=this.INDENT+"pass\n",eO.definitions_=Object.create(null),eO.functionNames_=Object.create(null),eO.setups_=Object.create(null),eO.loops_=Object.create(null),eO.codeEnd_=Object.create(null),eO.variableDB_?eO.variableDB_.reset():eO.variableDB_=new r_(eO.RESERVED_WORDS_)},eO.finish=function(_){""!==_&&(_=(_=_.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[];for(var e in eO.definitions_)t.push(eO.definitions_[e]);var i=[];for(var e in eO.functions_)i.push(eO.functions_[e]);var T=[];for(var e in eO.setups_)T.push(eO.setups_[e]);0!==T.length&&T.push("\n");var E=[];for(var e in eO.loops_)E.push(eO.loops_[e]);var n=[];for(var e in eO.codeEnd_)n.push(eO.codeEnd_[e]);return 0!==n.length&&n.push("\n"),E.length>0?t.join("\n")+"\n"+i.join("\n")+"\n"+T.join("")+"\n"+_+"while True:\n"+E.join("")+n.join("\n"):t.join("\n")+"\n"+i.join("\n")+"\n"+T.join("")+"\n"+_+n.join("\n")},eO.scrubNakedValue=function(_){return _+"\n"},eO.quote_=function(_){var t="'";return-1!==(_=_.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===_.indexOf('"')?t='"':_=_.replace(/'/g,"\\'")),t+_+t},eO.multiline_quote_=function(_){return"'''"+(_=_.replace(/'''/g,"\\'\\'\\'"))+"'''"},eO.scrub_=function(_,t,e){var i="";if(!_.outputConnection||!_.outputConnection.targetConnection){(E=_.getCommentText())&&(E=a_.utils.string.wrap(E,eO.COMMENT_WRAP-3),i+=eO.prefixLines(E+"\n","# "));for(var T=0;T<_.inputList.length;T++)if(_.inputList[T].type==a_.INPUT_VALUE){var E,n=_.inputList[T].connection.targetBlock();if(n)(E=eO.allNestedComments(n))&&(i+=eO.prefixLines(E,"# "))}}var o=_.nextConnection&&_.nextConnection.targetBlock();return i+t+(e?"":eO.blockToCode(o))},eO.getAdjustedInt=function(_,t,e,i){var T=e||0;_.workspace.options.oneBasedIndex&&T--;var E=_.workspace.options.oneBasedIndex?"1":"0",n=T?eO.ORDER_ADDITIVE:eO.ORDER_NONE,o=eO.valueToCode(_,t,n)||E;return a_.isNumber(o)?(o=parseInt(o,10)+T,i&&(o=-o)):(o=T>0?"int("+o+" + "+T+")":T<0?"int("+o+" - "+-T+")":"int("+o+")",i&&(o="-"+o)),o};const iO="#74A55B",TO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RGB_PIN_COUNT)}},EO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},nO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},oO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},sO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(a_.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(a_.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},OO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},IO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_RESET)}},aO={init:function(){this.setColour(iO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},MO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},LO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},RO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},rO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},SO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},lO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("360°"+a_.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SETTING+a_.Msg.blockpy_turtle_rotate+a_.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},AO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},PO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},NO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dO={init:function(){this.setColour(iO),this.appendValueInput("PIN",Number).appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},uO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new a_.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(a_.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},hO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"ms32006.MOT_CW"],[a_.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[a_.Msg.MOTOR_N,"ms32006.MOT_N"],[a_.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},mO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new a_.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"ms32006.MOT_CW"],[a_.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},CO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RGB_PIN_COUNT)}},cO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},HO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},DO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_WRI)}},YO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new a_.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+a_.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},UO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},gO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},BO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(a_.Msg.MIXLY_PROGRAM_BLOCK).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},GO={init:function(){this.setColour(iO),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(a_.Msg.MIXLY_PROGRAM_BLOCK).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},FO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},yO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},fO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_TRAFFIC_LIGHT).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LISTS_SET_INDEX_SET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_WHITE,"W"],[a_.Msg.COLOUR_RGB_RED,"R"],[a_.Msg.COLOUR_RGB_YELLOW,"Y"],[a_.Msg.COLOUR_RGB_GREEN,"G"],[a_.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_WHITE,"W"],[a_.Msg.COLOUR_RGB_RED,"R"],[a_.Msg.COLOUR_RGB_YELLOW,"Y"],[a_.Msg.COLOUR_RGB_GREEN,"G"],[a_.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},XO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[a_.Msg.MIXLY_SPEED,"[1]"],[a_.Msg.MATH_SINGLE_OP_ABSOLUTE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[a_.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[a_.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[a_.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},VO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MATH_SINGLE_OP_ABSOLUTE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"0"],[a_.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[a_.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},WO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField("("+a_.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},zO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField("("+a_.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"0"],[a_.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MOTOR,"ext_motor"],[a_.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[a_.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[a_.Msg.COLOUR_RGB_RED+"LED","R_LED"],[a_.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[a_.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[a_.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[a_.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},QO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MOTOR,"ext_motor"],[a_.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[a_.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[a_.Msg.COLOUR_RGB_RED+"LED","R_LED"],[a_.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[a_.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[a_.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[a_.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JO="#6C9858",qO={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},jO={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_ON,"1"],[a_.Msg.MIXLY_ESP32_OFF,"0"],[a_.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$O={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},_I={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},tI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},eI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_BUILDIN_LED+a_.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},iI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LCD_SETCOLOR).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LIGHT_RED,"1"],[a_.Msg.MIXLY_LIGHT_GREEN,"2"],[a_.Msg.MIXLY_LIGHT_BLUE,"3"],[a_.Msg.MIXLY_LIGHT_YELLOW,"4"],[a_.Msg.MIXLY_LIGHT_CYAN,"5"],[a_.Msg.MIXLY_LIGHT_PURPLE,"6"],[a_.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},TI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},EI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},nI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},oI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_BUILDIN_LED+a_.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},sI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},OI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(p_.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},II={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},aI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.PYTHON_RANGE_STEP).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},MI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_WRI)}},LI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(p_.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},RI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.PYTHON_RANGE_STEP).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},SI={init:function(){this.setColour(JO),this.appendValueInput("TICKS").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(a_.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(a_.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},lI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},AI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_RESET)}},PI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},NI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},dI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uI={init:function(){this.setColour(JO),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mI={init:function(){this.setColour(JO),this.appendDummyInput().appendField("MixGo Car").appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField("MixGo Car").appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([[a_.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[a_.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([[a_.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[a_.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_STOP).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},YI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[a_.Msg.MIXLY_SPEED,"SPEED"],[a_.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},UI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.MIXLY_MOTOR).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"1"],[a_.Msg.TEXT_TRIM_RIGHT,"2"],[a_.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[a_.Msg.MIXLY_SPEED,"SPEED"],[a_.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},BI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},GI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(a_.Msg.MIXLY_MOTOR).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"0"],[a_.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fI={init:function(){this.setColour(JO),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},bI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},xI={init:function(){this.setColour(JO),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_MIXBOT_BUZZER+a_.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},vI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MIXBOT_BUZZER+a_.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},XI={init:function(){this.setColour(JO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_RECORD_AUDIO).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VI={init:function(){this.setColour(JO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_AUDIO).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kI={init:function(){this.setColour(JO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},WI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT+a_.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.MIXLY_ALL+a_.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(a_.ALIGN_RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT+a_.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},QI={init:function(){this.setColour(JO),this.appendDummyInput().appendField(a_.Msg.ANALOG+a_.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(a_.Msg.MIXLY_RELEASE).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.ANALOG+a_.Msg.MIXLY_KEYBOARD_INPUT)}},JI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SPECIAL_KEY).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[a_.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[a_.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[a_.Msg.MIXLY_SPECIAL_KEY1,"0x04"],[a_.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[a_.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[a_.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[a_.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[a_.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},qI={init:function(){this.setColour(JO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GENERAL_KEY).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},jI={init:function(){this.setColour(JO),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new a_.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(a_.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("generalkey_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;it?_[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Qr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Jr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},jr={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(a_.Msg.MIXLY_WIFI_USERNAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.MIXLY_IOT_PASSWORD).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(a_.Msg.MIXLY_EMQX_PROJECT).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(a_.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(a_.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},_S={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(a_.Msg.MIXLY_EMQX_SUBSCRIBE+a_.Msg.MIXLY_MICROBIT_MSG).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},tS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ES={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},nS={init:function(){this.setColour(Vr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},oS={init:function(){this.setColour(Vr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},sS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},OS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(a_.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},IS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+a_.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pS={init:function(){this.VISITOR_ID=p_.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Vr),this.appendDummyInput("").appendField(new a_.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const _=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==_&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},MS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},LS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("HTTP"+a_.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(a_.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(a_.Msg.MIXLY_REQUESTS_GET).appendField(a_.Msg.MIXLY_GET_CURRENT_TIME).appendField(a_.Msg.MIXLY_OPEN_DEBUG).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("HTTP"+a_.Msg.MIXLY_Client).appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_REQUESTS_LEN,"client_len"],[a_.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[a_.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},rS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MQTT"+a_.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(a_.Msg.MIXLY_INIT_SUBSCRIBE).appendField(a_.Msg.MQTT_Topic).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(a_.Msg.MIXLY_OPEN_DEBUG).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SS={init:function(){this.setColour(Vr),this.appendDummyInput().appendField("MQTT"+a_.Msg.MIXLY_Client).appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_REQUESTS_LEN,"client_len"],[a_.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[a_.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},lS=kr,AS=wr,PS=Wr,NS=Kr,dS=Zr,uS=225,hS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(a_.Msg.MIXLY_NETWORK_MODE).appendField(new a_.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[a_.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("op"),e=a_.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:a_.Msg.MIXLY_NETWORK_WIFI_OPEN,False:a_.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+e}))}},CS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},cS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:a_.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},HS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(a_.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(a_.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},DS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_CONNECT+a_.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},YS={init:function(){this.setColour(uS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(a_.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},US={init:function(){this.setColour(uS),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},gS={init:function(){this.setColour(uS),this.appendValueInput("url").appendField(a_.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},BS={init:function(){this.setColour(uS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},GS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[a_.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[a_.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("mode");return a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:a_.Msg.MIXLY_ESP32_NETWORK_IP,1:a_.Msg.MIXLY_ESP32_NETWORK_MASK,2:a_.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},FS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},yS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[a_.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},fS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(a_.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(a_.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},bS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xS={init:function(){this.setColour(uS),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("mode");return a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},vS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},XS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},VS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},kS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},wS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},WS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},KS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},zS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},ZS={init:function(){this.setColour(uS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},QS={init:function(){this.setColour(uS),this.appendValueInput("DOMAIN").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS_GET).appendField(new a_.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},JS={init:function(){this.appendValueInput("VAL");var _=[[a_.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(uS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown(_),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("DIR");return{clear:a_.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:a_.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:a_.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[_]}))}},qS={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(uS),this.appendDummyInput("").appendField(a_.Msg.blockpy_CONDUCT).appendField(new a_.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("DIR");return{forward:a_.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:a_.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))}},jS={init:function(){this.setColour(uS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(a_.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},$S={init:function(){this.setColour(uS),this.appendDummyInput("").appendField(new a_.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},_l=100,tl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(t),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},el={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},il={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(a_.Msg.MOTOR_DC).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Tl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(a_.Msg.MOTOR_DC).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},El={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},nl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ol={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+a_.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(_l),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ol="#A58C5B",Il={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_IS_PRESSED)}},al={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_WAS_PRESSED)}},pl={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_BUTTON+a_.Msg.MIXLY_GET_PRESSES)}},Ml={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[a_.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[a_.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ll={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"],[a_.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down,freefall:a_.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+E}))}},Rl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},rl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Sl={init:function(){var _=[[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(Ol),this.appendValueInput("PIN",Number).appendField(new a_.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("WHAT");return{temperature:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[_]}))}},ll={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Al={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Pl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"left"],[a_.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{left:a_.Msg.TEXT_TRIM_LEFT,right:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},Nl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[a_.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{"get_BMP_temperature()":a_.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":a_.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},dl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[a_.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{"get_SHT_temperature()":a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},ul={init:function(){this.setColour(Ol),this.appendValueInput("PIN",Number).appendField("DS18x20 "+a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},hl={init:function(){this.setColour(Ol),this.appendDummyInput("").appendField("LM35"+a_.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LM35)}},ml={init:function(){this.setColour(Ol),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},Cl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[a_.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[a_.Msg.MIXLY_ESP32_MAX30102_IR+","+a_.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[a_.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[a_.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.HTML_COLOUR+a_.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET+a_.Msg.HTML_COLOUR,"[2]"],[a_.Msg.MIXLY_GET+a_.Msg.MIXLY_IR_STRENGTH,"[1]"],[a_.Msg.MIXLY_GET+a_.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET_ENV_LIGHT,"E"],[a_.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Bl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Gl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_Altitude+a_.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETPRESSURE,"pressure()"],[a_.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[a_.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MIXGOPE_FIELD+a_.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[a_.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down}[t]+E}))}},fl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},bl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},xl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_ESP32_SENOR_GYRO;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},vl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Xl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_GETTEMPERATUE)}},Vl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("compass");return a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},kl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},wl={init:function(){this.setColour(Ol),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Wl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[a_.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Zl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ql={init:function(){this.setColour(Ol),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(a_.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Jl={init:function(){this.setColour(Ol),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RFID_SCAN_OK,"0"],[a_.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[a_.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ql={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},jl={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},$l={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_A={init:function(){this.setColour(Ol),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("weather_set_label_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i>6),e.push(128|63&E)):(2048<=E&&E<=55295||57344<=E&&E<=65535)&&(i+=3,e.push(224|15&E>>12),e.push(128|63&E>>6),e.push(128|63&E))}for(T=0;T>8,255&i].concat(e)}(_,!0),e="",i=0;i=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==n?(t.definitions_.import_matrix32x12="import matrix32x12",e=T+" = matrix32x12.Matrix("+E+",font_address="+o+")\n"):"16x8 Matrix"==n&&(t.definitions_.import_matrix16x8="import matrix16x8",e=T+" = matrix16x8.Matrix("+E+")\n"),e},SC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},lC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},AC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},PC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},NC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},uC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},hC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},mC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},CC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+e+".show()\n"},cC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},HC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},DC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("image"),t.ORDER_ATOMIC]},YC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+_.getFieldValue("OP")+"("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+","+t.valueToCode(_,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},UC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},gC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+","+t.valueToCode(this,"column",t.ORDER_ATOMIC)+","+e+")\n"},BC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},GC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},FC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"width",t.ORDER_ATOMIC),n=t.valueToCode(this,"height",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",s=this.getFieldValue("OP");switch(o){case"True":return e+".show_fill_rect("+i+", "+T+", "+E+", "+n+","+s+")\n";case"False":return e+".show_rect("+i+", "+T+", "+E+", "+n+","+s+")\n"}},yC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"length",t.ORDER_ATOMIC);return e+".show_"+this.getFieldValue("direction")+"("+i+", "+T+", "+E+", 1)\n"},fC=function(_,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},bC=function(_,t){t.definitions_.import_matrix="import matrix";var e=_.getFieldValue("OP");return[t.valueToCode(_,"img",t.ORDER_ATOMIC)+".shift_"+e+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",e+".show_fill("+this.getFieldValue("key")+")\n"},vC=function(_,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},XC=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"r",t.ORDER_ATOMIC),n="TRUE"==this.getFieldValue("fill")?"True":"False",o=this.getFieldValue("OP");switch(n){case"True":return e+".show_fill_circle("+i+", "+T+", "+E+", "+o+")\n";case"False":return e+".show_circle("+i+", "+T+", "+E+", "+o+")\n"}},VC=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"x0",t.ORDER_ATOMIC),T=t.valueToCode(this,"y0",t.ORDER_ATOMIC),E=t.valueToCode(this,"x1",t.ORDER_ATOMIC),n=t.valueToCode(this,"y1",t.ORDER_ATOMIC),o=t.valueToCode(this,"x2",t.ORDER_ATOMIC),s=t.valueToCode(this,"y2",t.ORDER_ATOMIC),O="TRUE"==this.getFieldValue("fill")?"True":"False",I=this.getFieldValue("OP");switch(O){case"True":return e+".show_fill_triangle("+i+", "+T+", "+E+", "+n+", "+o+", "+s+", "+I+")\n";case"False":return e+".show_triangle("+i+", "+T+", "+E+", "+n+", "+o+", "+s+", "+I+")\n"}},kC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},wC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},WC=function(_,t){var e,i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),E=this.getFieldValue("key");return"TM1650"==E?(t.definitions_.import_tm1650="import tm1650",e=i+" = tm1650."+E+"("+T+")\n"):"TM1637"==E&&(t.definitions_.import_tm1637="import tm1637",e=i+" = tm1637."+E+"("+T+")\n"),e},KC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},zC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ZC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},QC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},JC=function(_,t){t.definitions_.import_st7789="import st7789";var e=p_.Boards.getSelectedBoardKey().split(":")[2],i="";i=["mpython","mixgo_pe","mixgo_nova"].indexOf(e)>=0?"0x700000":["mixgo_zero"].indexOf(e)>=0?"0xE00000":"0x3A0000";var T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),E=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return T+" = st7789.ST7789("+E+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+",dc_pin="+o+",cs_pin="+n+",rotation="+this.getFieldValue("rotate")+",font_address="+i+")\n"},qC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=e+".image("+i+",x = "+T+",y = "+E+",size = "+n+",color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=e+".image("+i+",x = "+T+",y = "+E+",size = "+n+",color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},jC=function(_,t){var e="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&e)>>8|(64512&e)>>5|(255&e)>>3).toString(16),t.ORDER_ATOMIC]},$C=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),O=this.getFieldValue("center");if("0x"==s.slice(0,2))var I=e+".shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+O+",color="+s+")\n";else{const _=s.match(/\d+/g);var a="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");I=e+".shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+O+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return I},_c=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==n.slice(0,2))var o=e+".frame("+i+",size = "+T+",delay = "+E+",color="+n+")\n";else{const _=n.match(/\d+/g);var s="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");o=e+".frame("+i+",size = "+T+",delay = "+E+",color=0x"+((16252928&s)>>8|(64512&s)>>5|(255&s)>>3).toString(16)+")\n"}return o},tc=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var O=e+".scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color="+s+")\n";else{const _=s.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O=e+".scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color=0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\n"}return O},ec=function(_,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},ic=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"x1",t.ORDER_ATOMIC),T=t.valueToCode(this,"y1",t.ORDER_ATOMIC),E=t.valueToCode(this,"x2",t.ORDER_ATOMIC),n=t.valueToCode(this,"y2",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=e+".line("+i+", "+T+", "+E+", "+n+", color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=e+".line("+i+", "+T+", "+E+", "+n+", color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},Tc=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),T=this.getFieldValue("key"),E=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",e+" = i2clcd.LCD("+i+",lcd_width="+T+",i2c_addr="+E+")\n"},Ec=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",column = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",line = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nc=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",column = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",line = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},oc=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},sc=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Oc=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),E=p_.Boards.getSelectedBoardKey().split(":")[2],n="";return n=["mpython","mixgo_pe","mixgo_nova"].indexOf(E)>=0?"0x700000":["mixgo_zero"].indexOf(E)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",e+" = oled128x64.OLED("+i+",address="+T+",font_address="+n+")\n"},Ic=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},ac=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Lc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Rc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},rc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Sc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},lc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},Ac=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},Pc=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Nc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+e+".show()\n"},dc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=_.getFieldValue("state");return e+"."+_.getFieldValue("shape")+"("+i+", "+T+", "+E+", "+n+", "+o+")\n"+e+".show()\n"},uc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=_.getFieldValue("state");return e+"."+("0"==_.getFieldValue("dir_h_v")?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\n"+e+".show()\n"},hc=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".line("+t.valueToCode(_,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y2",t.ORDER_ATOMIC)+", "+_.getFieldValue("state")+")\n"+e+".show()\n"},mc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Cc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),E=this.getFieldValue("center");return"mixgo_zero"==e||"mixgo_nova"==e?(t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.shows("+i+",space = "+T+",center = "+E+")\n"):(t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.shows("+i+",space = "+T+",center = "+E+")\n")},cc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return i},Hc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Dc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return i},Yc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Uc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix."+_.getFieldValue("image"),t.ORDER_ATOMIC]},gc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix."+_.getFieldValue("image"),t.ORDER_ATOMIC]},Bc=function(_,t){var e={"#000000":"0","#ff0000":"1"};function i(_){let t="";if(_.length%2==1&&(_="0"+_),_.length<8){let t=8-_.length;for(let e=1;e<=t;e++)_="0"+_}for(let e=1;e<=_.length;e++)e%2==0&&e!==_.length?t=t+_[e-1]+",0x":t+=_[e-1];return"0x"+t}let T=[];for(let t=0;t<12;t++){let E="",n=0,o=0;for(let i=0;i<32;i++)i<8?o=7-i:i<16?o=23-i:i<24?o=39-i:i<32&&(o=55-i),n+=Number(e[_.getFieldValue(t+"-"+i)])*Math.pow(2,31-o);E+=i(n.toString(16)),T.unshift(E)}let E=[];for(let _=0;_>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},aH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=this.getFieldValue("center"),O=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==O.slice(0,2))var I="onboard_tft.shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+s+",color="+O+")\n";else{const _=O.match(/\d+/g);var a="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");I="onboard_tft.shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+s+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return I},pH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_tft","onboard_tft.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",color=0xffff)\n"},MH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==n.slice(0,2))var o="onboard_tft.frame("+i+",size = "+T+",delay = "+E+",color="+n+")\n";else{const _=n.match(/\d+/g);var s="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");o="onboard_tft.frame("+i+",size = "+T+",delay = "+E+",color=0x"+((16252928&s)>>8|(64512&s)>>5|(255&s)>>3).toString(16)+")\n"}return o},LH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_tft","onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",color=0xffff)\n"},RH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var O="onboard_tft.scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color="+s+")\n";else{const _=s.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O="onboard_tft.scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color=0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\n"}return O},rH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),s=_.getFieldValue("shape");if("0x"==o.slice(0,2))var O="onboard_tft."+s+"("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_tft.show()\n";else{const _=o.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O="onboard_tft."+s+"("+i+", "+T+", "+E+", "+n+", 0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\nonboard_tft.show()\n"}return O},SH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=_.getFieldValue("dir_h_v");if("0x"==n.slice(0,2))var s="onboard_tft."+("0"==o?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\nonboard_tft.show()\n";else{const _=n.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft."+("0"==o?"v":"h")+"line("+i+", "+T+", "+E+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},lH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x1",t.ORDER_ATOMIC),T=t.valueToCode(_,"y1",t.ORDER_ATOMIC),E=t.valueToCode(_,"x2",t.ORDER_ATOMIC),n=t.valueToCode(_,"y2",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s="onboard_tft.line("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_tft.show()\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.line("+i+", "+T+", "+E+", "+n+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},AH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},PH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},NH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft",["hex(onboard_tft.pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+")))",t.ORDER_ATOMIC]},dH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==E.slice(0,2))var n="onboard_tft.pixel(int("+i+"), int("+T+"), "+E+")\nonboard_tft.show()\n";else{const _=E.match(/\d+/g);var o="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");n="onboard_tft.pixel(int("+i+"), int("+T+"), 0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return n},uH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";return["onboard_tft.get_brightness()",t.ORDER_ATOMIC]},hH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},mH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT);if("0x"==i.slice(0,2))var T="onboard_tft.fill("+i+")\nonboard_tft.show()\n";else{const _=i.match(/\d+/g);var E="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");T="onboard_tft.fill(0x"+((16252928&E)>>8|(64512&E)>>5|(255&E)>>3).toString(16)+")\nonboard_tft.show()\n"}return T},CH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock";var i=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=n+"=Clock("+i+","+T+","+E+","+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=n+"=Clock("+i+","+T+","+E+",0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},cH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},HH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},DH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},YH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock";var i=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==T.slice(0,2))var E=i+".clear("+T+")\n";else{const _=T.match(/\d+/g);var n="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");E=i+".clear(0x"+((16252928&n)>>8|(64512&n)>>5|(255&n)>>3).toString(16)+")\n"}return E},UH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"r",t.ORDER_ATOMIC),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=_.getFieldValue("shape");if("0x"==n.slice(0,2))var s="onboard_tft.ellipse("+i+", "+T+", "+E+", "+E+", "+n+","+o+")\nonboard_tft.show()\n";else{const _=n.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.ellipse("+i+", "+T+", "+E+", "+E+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+","+o+")\nonboard_tft.show()\n"}return s},gH=function(_,t){var e=this.getFieldValue("path"),i=this.getFieldValue("module");return t.definitions_["import_"+e+"_"+i]="from "+e+" import "+i,""},BH=function(_,t){var e=this.getFieldValue("module");return t.definitions_["import_"+e]="import "+e,""},GH=function(_,t){for(var e=this.getFieldValue("NAME"),i=new Array(this.itemCount_),T=0;T {\n"+t.statementToCode(this,"do")+"})\n"},GB=function(){return"control.reset()\n"},FB=function(_,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},yB=function(_,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},fB=function(_,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},bB=function(_,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},xB=function(_,t){return["control.eventValue()",t.ORDER_ATOMIC]},vB=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XB=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},VB=function(_,t){return["control.deviceName()",t.ORDER_ATOMIC]},kB=function(_,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},wB=function(_,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},WB=function(_,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},KB=function(){return"while True:\n pass\n"},zB=function(_,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},ZB=function(_,t){return t.definitions_.import_os="import os","os.uname()"},QB=function(_,t){t.definitions_.import_time="import time";var e=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+e+")\n";case"ms":return"time.sleep_ms("+e+")\n";case"us":return"time.sleep_us("+e+")\n"}},JB=function(_,t){t.definitions_.import_time="import time";var e=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+e+")\n";case"ms":return"time.sleep_ms("+e+")\n";case"us":return"time.sleep_us("+e+")\n"}},qB=function(_,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode = Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback = "+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},jB=function(_,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},$B=function(_,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},_G=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",e+" = machine.Timer(0)\n"},tG=function(_,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},eG=function(_,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},iG=function(_,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},TG=function(_,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},EG=_G,nG=jB,oG=$B,sG=QB,OG=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},IG=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},aG=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},pG={};pG["MixGo(ESP32, 4M)"]={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},pG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:p_.Profile.generate(["0-7"]),exlcdv:p_.Profile.generate(["0-4"]),brightness:p_.Profile.generate(["0-9"]),tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},pG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},pG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const MG=pG,LG=230,RG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital),"PIN"),this.setOutput(!0)}},rG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},lG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},PG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},dG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},uG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},hG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},mG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},cG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},YG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},gG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog),"PIN"),this.setOutput(!0)}},BG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},GG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},fG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm),"PIN"),this.setOutput(!0)}},bG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},vG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch),"PIN"),this.setOutput(!0)}},XG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},VG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},kG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},wG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.imglist),"PIN"),this.setOutput(!0)}},WG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist),"PIN"),this.setOutput(!0)}},KG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},QG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},qG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},jG={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},$G={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},_F={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},tF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},eF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},iF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.one_more),"PIN"),this.setOutput(!0)}},TF={init:function(){this.setColour(LG),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},EF=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},nF=EF,oF=EF,sF=EF,OF=EF,IF=EF,aF=EF,pF=EF,MF=EF,LF=EF,RF=EF,rF=EF,SF=EF,lF=EF,AF=EF,PF=EF,NF=EF,dF=EF,uF=EF,hF=EF,mF=EF,CF=EF,cF=EF,HF=EF,DF=EF,YF=EF,UF=EF,gF=EF,BF=EF,GF=EF,FF=EF,yF=EF,fF=EF,bF=EF,xF=EF,vF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"是数字",TEXT_IS_ALPHA:"是字母",TEXT_IS_ALNUM:"是数字和字母的组合",TEXT_LIST_START:"初始化列表 [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"初始化元组 (",TEXT_TUPLE_END:")",TEXT_DICT_START:"初始化字典 {",TEXT_DICT_END:"}",TEXT_SET_START:"初始化集合 {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",ADD_COMMENT:"添加注释",CHANGE_VALUE_TITLE:"更改值:",CLEAN_UP:"整理块",COLLAPSE_ALL:"折叠块",COLLAPSE_BLOCK:"折叠块",COLOUR_BLEND_COLOUR1:"颜色1",COLOUR_BLEND_COLOUR2:"颜色2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"比例",COLOUR_BLEND_TITLE:"混合",COLOUR_BLEND_TOOLTIP:"用一个给定的比率(0.0-1.0)混合两种颜色。",COLOUR_PICKER_HELPURL:"https://zh.wikipedia.org/wiki/颜色",COLOUR_PICKER_TOOLTIP:"从调色板中选择一种颜色。",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"随机颜色",COLOUR_RANDOM_TOOLTIP:"随机选择一种颜色。",COLOUR_RGB_BLUE:"蓝色",COLOUR_RGB_GREEN:"绿色",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"红色",COLOUR_RGB_TITLE:"颜色",COLOUR_RGB_TOOLTIP:"通过指定红色、绿色和蓝色的量创建一种颜色。所有的值必须介于0和100之间。",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"中断循环",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"继续下一次循环",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"中断包含它的循环。",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"跳过这个循环的剩余部分,并继续下一次迭代。",CONTROLS_FLOW_STATEMENTS_WARNING:"警告:此块仅可用于在一个循环内。",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"为每个项目 %1 在列表中 %2",CONTROLS_FOREACH_TOOLTIP:"遍历每个列表中的项目,将变量“%1”设定到该项中,然后执行某些语句。",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"使用 %1 从范围 %2 到 %3 每隔 %4",CONTROLS_FOR_TOOLTIP:"从起始数到结尾数中取出变量“%1”的值,按指定的时间间隔,执行指定的块。",CONTROLS_IF_ELSEIF_TOOLTIP:"在if语句块中增加一个条件。",CONTROLS_IF_ELSE_TOOLTIP:"添加一个最终的,包括所有情况的节到if块中。",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",CONTROLS_IF_IF_TOOLTIP:"增加、删除或重新排列各节来重新配置“if”块。",CONTROLS_IF_MSG_ELSE:"否则",CONTROLS_IF_MSG_ELSEIF:"否则如果",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",CONTROLS_IF_MSG_IF:"如果",CONTROLS_IF_TOOLTIP_1:"如果值为真,执行一些语句。",CONTROLS_IF_TOOLTIP_2:"如果值为真,则执行第一块语句。否则,则执行第二块语句。",CONTROLS_IF_TOOLTIP_3:"如果第一个值为真,则执行第一块的语句。否则,如果第二个值为真,则执行第二块的语句。",CONTROLS_IF_TOOLTIP_4:"如果第一个值为真,则执行第一块对语句。否则,如果第二个值为真,则执行语句的第二块。如果没有值为真,则执行最后一块的语句。",CONTROLS_REPEAT_FOREVER:"一直重复",CONTROLS_REPEAT_FOREVER_TOOLTIP:"一直执行一些语句。",CONTROLS_REPEAT_HELPURL:"https://zh.wikipedia.org/wiki/For循环",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"重复 %1 次",CONTROLS_REPEAT_TOOLTIP:"多次执行一些语句。",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"重复直到",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"重复当",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"只要值为假,执行一些语句。",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"只要值为真,执行一些语句。",DELETE_ALL_BLOCKS:"删除所有%1块吗?",DELETE_BLOCK:"删除块",DELETE_VARIABLE:"删除“%1”变量",DELETE_VARIABLE_CONFIRMATION:"删除“%2”变量的%1种用途么?",DELETE_X_BLOCKS:"删除块",DISABLE_BLOCK:"禁用块",DUPLICATE_BLOCK:"复制",ENABLE_BLOCK:"启用块",EXPAND_ALL:"展开块",EXPAND_BLOCK:"展开块",EXTERNAL_INPUTS:"多行输入",HELP:"帮助",INLINE_INPUTS:"单行输入",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"创建空列表",TUPLE_CREATE_EMPTY_TITLE:"创建空元组",DICT_CREATE_EMPTY_TITLE:"创建空字典",SET_CREATE_EMPTY_TITLE:"创建空集合",LISTS_CREATE_EMPTY_TOOLTIP:"返回一个列表,长度为 0,不包含任何数据记录",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"列表",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"元组",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"字典",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"集合",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个列表块。",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个元组块。",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个字典块。",SET_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个集合块。",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"初始化列表",TUPLE_CREATE_WITH_INPUT_WITH:"初始化元组",DICT_CREATE_WITH_INPUT_WITH:"初始化字典",SET_CREATE_WITH_INPUT_WITH:"初始化集合",LISTS_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到列表中。",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到元组中。",DICT_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到字典中。",SET_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到集合中。",LISTS_CREATE_WITH_TOOLTIP:"建立一个具有任意数量项目的列表。",LISTS_GET_INDEX_FIRST:"第一",LISTS_GET_INDEX_FROM_END:"倒数第",LISTS_GET_INDEX_FROM_START:"第",LISTS_GET_INDEX_GET:"获得",LISTS_GET_INDEX_GET_REMOVE:"取出并移除",LISTS_GET_INDEX_LAST:"最后",LISTS_GET_INDEX_RANDOM:"随机",LISTS_GET_INDEX_REMOVE:"移除",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"在列表 %1 中移除 %2 项",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"返回列表中的第一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_FROM:"返回在列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"返回列表中的最后一项。",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"随机返回列表中的一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"移除并返回列表中的第一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:"移除并返回列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"移除并返回列表中的最后一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"移除并返回列表中的一个随机项目中。",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"移除列表中的第一项",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:"移除在列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"移除列表中的最后一项",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"删除列表中的一个随机的项。",LISTS_GET_SUBLIST_END_FROM_END:"到倒数第#",LISTS_GET_SUBLIST_END_FROM_START:"到#",LISTS_GET_SUBLIST_END_LAST:"到最后",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"从头获得子列表",LISTS_GET_SUBLIST_START_FROM_END:"从倒数#取得子列表",LISTS_GET_SUBLIST_START_FROM_START:"从#取得子列表",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"复制列表中指定的部分。",LISTS_INDEX_FROM_END_TOOLTIP:"%1是最后一项。",LISTS_INDEX_FROM_START_TOOLTIP:"%1是第一个项目。",LISTS_INDEX_OF_FIRST:"找出第一个项出现",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"找出最后一个项出现",LISTS_INDEX_OF_TOOLTIP:"返回在列表中的第一/最后一个匹配项的索引值。如果找不到项目则返回0",LISTS_INLIST:"在列表中",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1是空的",LISTS_ISEMPTY_TOOLTIP:"如果改列表为空,则返回真。",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"%1的长度",LISTS_LENGTH_TOOLTIP:"返回列表的长度。",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"建立列表 项 %1 重复 %2 次",LISTS_REPEAT_TOOLTIP:"建立包含指定重复次数的值的列表。",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"为",LISTS_SET_INDEX_INSERT:"插入在",LISTS_SET_INDEX_SET:"设置",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"在列表的起始处添加该项。",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:"插入在列表中指定位置的项。",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"将该项追加到列表的末尾。",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"在列表中随机插入项。",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"设置列表中的第一个项目。",LISTS_SET_INDEX_TOOLTIP_SET_FROM:"设置在列表中指定位置的项。",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"设置列表中的最后一项。",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"设置列表中一个随机的项目。",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"升序",LISTS_SORT_ORDER_DESCENDING:"降序",LISTS_SORT_TITLE:"排序%1 %2 %3",LISTS_SORT_TOOLTIP:"排序一个列表的拷贝。",LISTS_SORT_TYPE_IGNORECASE:"按字母排序,忽略大小写",LISTS_SORT_TYPE_NUMERIC:"按数字排序",LISTS_SORT_TYPE_TEXT:"按字母排序",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"从文本制作列表",LISTS_SPLIT_TEXT_FROM_LIST:"从列表组合文本",LISTS_SPLIT_TOOLTIP_JOIN:"加入文本列表至一个文本,由分隔符分隔。",LISTS_SPLIT_TOOLTIP_SPLIT:"拆分文本到文本列表,按每个分隔符拆分。",LISTS_SPLIT_WITH_DELIMITER:"用分隔符",LOGIC_BOOLEAN_FALSE:"假",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"返回真或假。",LOGIC_BOOLEAN_TRUE:"真",LOGIC_COMPARE_HELPURL:"https://zh.wikipedia.org/wiki/不等",LOGIC_COMPARE_TOOLTIP_EQ:"如果两个输入结果相等,则返回真。",LOGIC_COMPARE_TOOLTIP_GT:"如果第一个输入结果比第二个大,则返回真。",LOGIC_COMPARE_TOOLTIP_GTE:"如果第一个输入结果大于或等于第二个输入结果,则返回真。",LOGIC_COMPARE_TOOLTIP_LT:"如果第一个输入结果比第二个小,则返回真。",LOGIC_COMPARE_TOOLTIP_LTE:"如果第一个输入结果小于或等于第二个输入结果,则返回真。",LOGIC_COMPARE_TOOLTIP_NEQ:"如果两个输入结果不相等,则返回真。",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"非%1",LOGIC_NEGATE_TOOLTIP:"如果输入结果为假,则返回真;如果输入结果为真,则返回假。",LOGIC_NULL:"空",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"返回空值。",LOGIC_OPERATION_AND:"和",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"或",LOGIC_OPERATION_TOOLTIP_AND:"如果两个输入结果都为真,则返回真。",LOGIC_OPERATION_TOOLTIP_OR:"如果至少有一个输入结果为真,则返回真。",LOGIC_TERNARY_CONDITION:"测试",LOGIC_TERNARY_HELPURL:"https://zh.wikipedia.org/wiki/条件运算符",LOGIC_TERNARY_IF_FALSE:"如果为假",LOGIC_TERNARY_IF_TRUE:"如果为真",LOGIC_TERNARY_TOOLTIP:"检查“test”中的条件。如果条件为真,则返回“if true”的值,否则,则返回“if false”的值。",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://zh.wikipedia.org/wiki/算术",MATH_ARITHMETIC_TOOLTIP_ADD:"返回两个数字的和。",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"返回两个数字的商。",MATH_ARITHMETIC_TOOLTIP_MINUS:"返回两个数字的区别。",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"返回两个数字的乘积。",MATH_ARITHMETIC_TOOLTIP_POWER:"返回第一个数的第二个数次幂。",MATH_CHANGE_HELPURL:"https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%B3%95",MATH_CHANGE_TITLE:"将变量 %1 的值增加 %2",MATH_CHANGE_TOOLTIP:"将一个数添加到变量“%1”。",MATH_CONSTANT_HELPURL:"https://zh.wikipedia.org/wiki/数学常数",MATH_CONSTANT_TOOLTIP:"返回一个常见常量:π (3.141......),e (2.718...)、φ (1.618...)、 sqrt(2) (1.414......)、sqrt(½) (0.707......)或 ∞(无穷大)。",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"限制数字 %1 介于 (低) %2 到 (高) %3",MATH_CONSTRAIN_TOOLTIP:"限制数字介于两个指定的数字之间",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"强制转换数据类型",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"%1 ÷ %2 商的整数部分",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"可被整除",MATH_IS_EVEN:"是偶数",MATH_IS_NEGATIVE:"为负",MATH_IS_ODD:"是奇数",MATH_IS_POSITIVE:"为正",MATH_IS_PRIME:"是质数",MATH_IS_TOOLTIP:"如果数字是偶数、奇数、非负整数、正数、负数或如果它可被某数字整除,则返回真或假。",MATH_IS_WHOLE:"为整数",MATH_MODULO_HELPURL:"https://zh.wikipedia.org/wiki/模除",MATH_MODULO_TITLE:"%1 ÷ %2 的余数",MATH_MODULO_TOOLTIP:"返回这两个数字相除后的余数。",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"对数字进行位运算",MATH_NUMBER_HELPURL:"https://zh.wikipedia.org/wiki/数",MATH_NUMBER_TOOLTIP:"一个数字。",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"列表中的平均数",MATH_ONLIST_OPERATOR_MAX:"列表中的最大值",MATH_ONLIST_OPERATOR_MEDIAN:"列表中位数",MATH_ONLIST_OPERATOR_MIN:"列表中的最小值",MATH_ONLIST_OPERATOR_MODE:"列表模式",MATH_ONLIST_OPERATOR_RANDOM:"列表的随机项",MATH_ONLIST_OPERATOR_STD_DEV:"列表中的标准差",MATH_ONLIST_OPERATOR_SUM:"列表中的数的总和",MATH_ONLIST_TOOLTIP_AVERAGE:"返回列表中的数值的平均值。",MATH_ONLIST_TOOLTIP_MAX:"返回列表中最大数。",MATH_ONLIST_TOOLTIP_MEDIAN:"返回列表中的中位数。",MATH_ONLIST_TOOLTIP_MIN:"返回列表中最小数。",MATH_ONLIST_TOOLTIP_MODE:"返回列表中的最常见的项的列表。",MATH_ONLIST_TOOLTIP_RANDOM:"从列表中返回一个随机的元素。",MATH_ONLIST_TOOLTIP_STD_DEV:"返回列表的标准偏差。",MATH_ONLIST_TOOLTIP_SUM:"返回列表中的所有数字的和。",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://zh.wikipedia.org/wiki/随机数生成器",MATH_RANDOM_FLOAT_TITLE_RANDOM:"随机小数",MATH_RANDOM_FLOAT_TOOLTIP:"返回介于(包含)0.0到1.0之间的随机数。",MATH_RANDOM_INT_HELPURL:"https://zh.wikipedia.org/wiki/随机数生成器",MATH_RANDOM_INT_TITLE:"从 %1 到 %2 之间的随机整数",MATH_RANDOM_INT_TOOLTIP:"返回两个指定的范围(含)之间的随机整数。",MATH_ROUND_HELPURL:"https://zh.wikipedia.org/wiki/数值修约",MATH_ROUND_OPERATOR_ROUND:"四舍五入",MATH_ROUND_OPERATOR_ROUNDDOWN:"向下舍入",MATH_ROUND_OPERATOR_ROUNDUP:"向上舍入",MATH_ROUND_TOOLTIP:"数字向上或向下舍入。",MATH_SINGLE_HELPURL:"https://zh.wikipedia.org/wiki/平方根",MATH_SINGLE_OP_ABSOLUTE:"绝对",MATH_SINGLE_OP_ROOT:"平方根",MATH_SINGLE_TOOLTIP_ABS:"返回一个数的绝对值。",MATH_SINGLE_TOOLTIP_EXP:"返回数的e次幂。",MATH_SINGLE_TOOLTIP_LN:"返回一个数的自然对数。",MATH_SINGLE_TOOLTIP_LOG10:"返回数字的对数。",MATH_SINGLE_TOOLTIP_NEG:"返回数的逻辑非。",MATH_SINGLE_TOOLTIP_POW10:"返回数的10次幂。",MATH_SINGLE_TOOLTIP_ROOT:"返回数的平方根。",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://zh.wikipedia.org/wiki/三角函数",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"返回一个数的反余弦值。",MATH_TRIG_TOOLTIP_ASIN:"返回一个数的反正弦值。",MATH_TRIG_TOOLTIP_ATAN:"返回指定角度的反正切值。",MATH_TRIG_TOOLTIP_COS:"返回指定角度的余弦值(非弧度)。",MATH_TRIG_TOOLTIP_SIN:"返回指定角度的正弦值(非弧度)。",MATH_TRIG_TOOLTIP_TAN:"返回指定角度的正切值(非弧度)。",NEW_VARIABLE:"创建变量...",NEW_VARIABLE_TITLE:"新变量的名称:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"允许声明",PROCEDURES_BEFORE_PARAMS:"参数:",PROCEDURES_CALLNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLNORETURN_TOOLTIP:"运行用户定义的函数“%1”。",PROCEDURES_CALLRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLRETURN_TOOLTIP:"运行用户定义的函数“%1”,并使用它的输出值。",PROCEDURES_CALL_BEFORE_PARAMS:"与:",PROCEDURES_CREATE_DO:"创建“%1”",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"定义函数",PROCEDURES_DEFNORETURN_TOOLTIP:"创建一个不带输出值的函数。",PROCEDURES_DEFRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFRETURN_RETURN:"返回",PROCEDURES_DEFRETURN_TOOLTIP:"创建一个有输出值的函数。",PROCEDURES_DEF_DUPLICATE_WARNING:"警告: 此函数具有重复参数。",PROCEDURES_HIGHLIGHT_DEF:"突出显示函数定义",PROCEDURES_IFRETURN_HELPURL:"http://c2.com/cgi/wiki?GuardClause",PROCEDURES_IFRETURN_TOOLTIP:"如果值为真,则返回第二个值。",PROCEDURES_IFRETURN_WARNING:"警告: 仅在定义函数内可使用此块。",PROCEDURES_MUTATORARG_TITLE:"输入名称:",PROCEDURES_MUTATORARG_TOOLTIP:"添加函数输入。",PROCEDURES_MUTATORCONTAINER_TITLE:"输入",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"添加、删除或重新排此函数的输入。",REDO:"重做",REMOVE_COMMENT:"删除注释",RENAME_VARIABLE:"重命名变量...",RENAME_VARIABLE_TITLE:"将所有“%1”变量重命名为:",TEXT_APPEND_APPENDTEXT:"追加文本",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"",TEXT_APPEND_TOOLTIP:"将一些文本追加到变量“%1”。",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"转为小写",TEXT_CHANGECASE_OPERATOR_TITLECASE:"转为首字母大写",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"转为大写",TEXT_CHANGECASE_TOOLTIP:"使用不同的大小写复制这段文字。",TEXT_CHARAT_FIRST:"获得第一个字符",TEXT_CHARAT_FROM_END:"获得倒数第#个字符",TEXT_CHARAT_FROM_START:"获得字符#",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"从文本",TEXT_CHARAT_LAST:"获得最后一个字符",TEXT_CHARAT_RANDOM:"获取随机的字母",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"返回位于指定位置的字母。",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"将一个项添加到文本中。",TEXT_CREATE_JOIN_TITLE_JOIN:"加入",TEXT_CREATE_JOIN_TOOLTIP:"添加、移除或重新排列各节来重新配置这个文本块。",TEXT_GET_SUBSTRING_END_FROM_END:"到倒数第#个字符",TEXT_GET_SUBSTRING_END_FROM_START:"到字符#",TEXT_GET_SUBSTRING_END_LAST:"到最后一个字符",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"从文本",TEXT_GET_SUBSTRING_START_FIRST:"取得一段字串自第一个字符",TEXT_GET_SUBSTRING_START_FROM_END:"取得一段字串自倒数第#个字符",TEXT_GET_SUBSTRING_START_FROM_START:"取得一段字串自#",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"返回指定的部分文本。",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"在文本",TEXT_INDEXOF_OPERATOR_FIRST:"中查找 最先 出现",TEXT_INDEXOF_OPERATOR_LAST:"中查找 最后 出现",TEXT_INDEXOF_TAIL:"的位置",TEXT_INDEXOF_TOOLTIP:"返回在第二个字串中的第一/最后一个匹配项的索引值。如果未找到则返回%1。",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1是空的",TEXT_ISEMPTY_TOOLTIP:"如果提供的文本为空,则返回真。",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"转为文本",TEXT_JOIN_TOOLTIP:"通过串起任意数量的项以建立一段文字。",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"%1的长度",TEXT_LENGTH_TOOLTIP:"返回提供文本的字母数(包括空格)。",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"打印%1",MPYTHON_INPUT_MESSAGE0:"输入%1",TEXT_PRINT_TOOLTIP:"打印指定的文字、数字或其他值。",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"提示用户输入数字。",TEXT_PROMPT_TOOLTIP_TEXT:"提示用户输入一些文本。",TEXT_PROMPT_TYPE_NUMBER:"输入数字并显示提示消息",TEXT_PROMPT_TYPE_TEXT:"输入数字并显示提示消息",TEXT_TEXT_HELPURL:"https://zh.wikipedia.org/wiki/字符串",TEXT_TEXT_TOOLTIP:"一个字母、单词或一行文本。",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"消除两侧空格",TEXT_TRIM_OPERATOR_LEFT:"消除左侧空格",TEXT_TRIM_OPERATOR_RIGHT:"消除右侧空格",TEXT_TRIM_TOOLTIP:"复制这段文字的同时删除两端多余的空格。",TODAY:"今天",UNDO:"撤销",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"创建“设定%1”",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"返回此变量的值。",VARIABLES_SET:"将变量 %1 设定为 %2",VARIABLES_SET_CREATE_GET:"创建“获得%1”",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"设置此变量,以使它和输入值相等。",VARIABLE_ALREADY_EXISTS:"已存在名为“%1”的变量。"};vF.PROCEDURES_DEFRETURN_TITLE=vF.PROCEDURES_DEFNORETURN_TITLE,vF.CONTROLS_IF_IF_TITLE_IF=vF.CONTROLS_IF_MSG_IF,vF.CONTROLS_WHILEUNTIL_INPUT_DO=vF.CONTROLS_REPEAT_INPUT_DO,vF.CONTROLS_IF_MSG_THEN=vF.CONTROLS_REPEAT_INPUT_DO,vF.TRY_EXCEPT_TRY="try",vF.CONTROLS_IF_ELSE_TITLE_ELSE=vF.CONTROLS_IF_MSG_ELSE,vF.CONTROLS_IF_ELSE_TITLE_ELSE=vF.CONTROLS_IF_MSG_ELSE,vF.PROCEDURES_DEFRETURN_PROCEDURE=vF.PROCEDURES_DEFNORETURN_PROCEDURE,vF.LISTS_GET_SUBLIST_INPUT_IN_LIST=vF.LISTS_INLIST,vF.LISTS_GET_INDEX_INPUT_IN_LIST=vF.LISTS_INLIST,vF.PROCEDURES_DEFRETURN_DO=vF.PROCEDURES_DEFNORETURN_DO,vF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=vF.CONTROLS_IF_MSG_ELSEIF,vF.LISTS_GET_INDEX_HELPURL=vF.LISTS_INDEX_OF_HELPURL,vF.CONTROLS_FOREACH_INPUT_DO=vF.CONTROLS_REPEAT_INPUT_DO,vF.LISTS_SET_INDEX_INPUT_IN_LIST=vF.LISTS_INLIST,vF.CONTROLS_FOR_INPUT_DO=vF.CONTROLS_REPEAT_INPUT_DO,vF.LISTS_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.TUPLE_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.DICT_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.SET_CREATE_WITH_ITEM_TITLE=vF.VARIABLES_DEFAULT_NAME,vF.TEXT_APPEND_VARIABLE=vF.VARIABLES_DEFAULT_NAME,vF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=vF.VARIABLES_DEFAULT_NAME,vF.MATH_CHANGE_TITLE_ITEM=vF.VARIABLES_DEFAULT_NAME,vF.LISTS_INDEX_OF_INPUT_IN_LIST=vF.LISTS_INLIST,vF.PROCEDURES_DEFRETURN_COMMENT=vF.PROCEDURES_DEFNORETURN_COMMENT,vF.MPYTHON_MAIN_HELPURL="",vF.MPYTHON_MAIN_TOOLTIP="",vF.MPYTHON_MAIN_MESSAGE0="主程序",vF.MPYTHON_OPEN="开启",vF.MPYTHON_CLOSE="关闭",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",vF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",vF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",vF.MPYTHON_AI_SENSOR_ENABLE_START="开始抓取图像",vF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取图像",vF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平镜像",vF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻转",vF.MPYTHON_AI_SENSOR_SETS_CONTRAST="对比度",vF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",vF.MPYTHON_AI_SENSOR_SETS_SATURATION="饱和度",vF.MPYTHON_AI2_FACE_YOLO="人脸识别",vF.MPYTHON_AI2_CLASS_20_YOLO="20类识别",vF.MPYTHON_AI2_MNIST_NET="数字识别",vF.MPYTHON_AI2_PHOTOGRAPH_FACE_YOLO="人脸",vF.MPYTHON_AI2_PHOTOGRAPH_CLASS_20_YOLO="20类",vF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",vF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",vF.TEXT_APPEND_TEXT_HELPURL="",vF.TEXT_APPEND_TEXT_TOOLTIP="",vF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",vF.CHINA_CITY_MESSAGE0="%1 %2",vF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",vF.CHINA_CITY_CNNAME="中文简称",vF.CHINA_CITY_PINYIN="拼音",vF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",vF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",vF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",vF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",vF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天气] %1 信息 %2 地理位置 %3 API私钥 %4 %5 语言 %6 %7 温度单位 %8",vF.MPYTHON_SENIVERSE_WEATHER_API_1="天气实况",vF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天气预报",vF.MPYTHON_SENIVERSE_WEATHER_API_3="6项生活指数",vF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="摄氏度",vF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="华氏度",vF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",vF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",vF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="设定 %1 为 %2",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天气] 通用字段 %2",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天气] 天气实况 %2",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="风向角度,范围0~360\n风速,单位km/h(当unit=c时)、mph(当unit=f时)",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天气] 3天天气预报 %2 的 %3",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",vF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天气] 6项生活指数 %2",vF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名称",vF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",vF.MPYTHON_SENIVERSE_WEATHER_country="国家代码",vF.MPYTHON_SENIVERSE_WEATHER_path="行政归属",vF.MPYTHON_SENIVERSE_WEATHER_timezone="时区",vF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",vF.MPYTHON_SENIVERSE_WEATHER_last_update_date="数据更新日期",vF.MPYTHON_SENIVERSE_WEATHER_last_update="数据更新时间",vF.MPYTHON_SENIVERSE_WEATHER_object="原始字典对象",vF.MPYTHON_SENIVERSE_WEATHER_text="天气现象",vF.MPYTHON_SENIVERSE_WEATHER_code="天气现象代码",vF.MPYTHON_SENIVERSE_WEATHER_temperature="温度",vF.MPYTHON_SENIVERSE_WEATHER_today="今天",vF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",vF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="后天",vF.MPYTHON_SENIVERSE_WEATHER_date="日期",vF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天气现象",vF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天气现象代码",vF.MPYTHON_SENIVERSE_WEATHER_text_night="晚间天气现象",vF.MPYTHON_SENIVERSE_WEATHER_code_night="晚间天气现象代码",vF.MPYTHON_SENIVERSE_WEATHER_high="当天最高温度",vF.MPYTHON_SENIVERSE_WEATHER_low="当天最低温度",vF.MPYTHON_SENIVERSE_WEATHER_wind_direction="风向",vF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="风向角度",vF.MPYTHON_SENIVERSE_WEATHER_wind_speed="风速",vF.MPYTHON_SENIVERSE_WEATHER_wind_scale="风力等级",vF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗车指数",vF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指数",vF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指数",vF.MPYTHON_SENIVERSE_WEATHER_sport="运动指数",vF.MPYTHON_SENIVERSE_WEATHER_travel="旅游指数",vF.MPYTHON_SENIVERSE_WEATHER_uv="紫外线指数",vF.MPYTHON_RED="红",vF.MPYTHON_GREEN="绿",vF.MPYTHON_BLUE="蓝",vF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射频卡 读取电子钱包 数据",vF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="读取块数据,长度16字节",vF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射频卡 写入电子钱包 数据%1",vF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="写入块数据,长度16字节",vF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射频卡 给电子钱包%1 金额%2",vF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",vF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣费",vF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射频卡 获取电子钱包余额",vF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射频卡 获取序列号",vF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射频卡 初始化电子钱包",vF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射频卡 扫描",vF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",vF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",vF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超声波",vF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",vF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被触发 引脚%2",vF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",vF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模拟值 引脚%2",vF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",vF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="设置LED灯 输出%1 引脚%2",vF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循迹传感器 检测为黑 引脚%1",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打开 %1 引脚 %2",vF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="关闭 %1 引脚 %2",vF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",vF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",vF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 %2 REC %3 PLAY %4",vF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",vF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 %1 REC %2 PLAY %3",vF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",vF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="录音",vF.MPYTHON_BLUEBIT_IR_RECEIVE="红外探测",vF.MPYTHON_BLUEBIT_SOUND="麦克风",vF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循迹",vF.MPYTHON_BLUEBIT_VIBRATION="震动",vF.MPYTHON_BLUEBIT_RFID="射频卡",vF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指纹",vF.MPYTHON_BLUEBIT_PIR="人体感应",vF.MPYTHON_BLUEBIT_MAGNETIC="门磁开关",vF.MPYTHON_BLUEBIT_BUTTON="按键",vF.MPYTHON_BLUEBIT_RELAY="继电器",vF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位开关",vF.MPYTHON_BLUEBIT_FAN="风扇",vF.MPYTHON_BLUEBIT_LASER="激光",vF.MPYTHON_BLUEBIT_NTC_TEMP="热敏电阻",vF.MPYTHON_BLUEBIT_WATER="水位",vF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤湿度",vF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋钮电位器",vF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑电位器",vF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模拟光线",vF.MPYTHON_BLUEBIT_LM35_TEMP="LM35温度",vF.MPYTHON_BLUEBIT_SMOKE="烟雾",vF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正转",vF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反转",vF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",vF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤湿度",vF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤湿度(新)%1",vF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",vF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",vF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",vF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",vF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",vF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打开风扇 %1",vF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",vF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",vF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 关闭风扇 %1",vF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",vF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",vF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",vF.BLUE="A",vF.GREEN="B",vF.RED="C",vF.YELLOW="D",vF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",vF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",vF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",vF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",vF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打开直流电机 %1 %2 速度 %3",vF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",vF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 关闭直流电机",vF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",vF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="编码电机 模式 %1 拨码 %2 M1速度 %3 M2速度 %4",vF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",vF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止编码电机转动",vF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止编码电机转动 %1",vF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",vF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",vF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",vF.MPYTHON_BLUEBIT_TEMPERATURE="温度",vF.MPYTHON_BLUEBIT_HUMIDITY="湿度",vF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",vF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",vF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",vF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",vF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="设MIDI音量 %1",vF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",vF.MIDI_PIANO="平台钢琴",vF.MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",vF.MIDI_ELECTRICGRANDPIANO="电钢琴",vF.MIDI_HARPSICHORD="大键琴",vF.MIDI_CELESTA="钢片琴",vF.MIDI_GLOCKENSPIEL="钟琴",vF.MIDI_MUSICALBOX="音乐盒",vF.MIDI_MARIMBA="马林巴琴",vF.MIDI_XYLOPHONE="木琴",vF.MIDI_TUBULARBELL="管钟",vF.MIDI_DULCIMER="洋琴",vF.MIDI_VIBRAPHONE="颤音琴",vF.MIDI_ORGAN="音栓风琴",vF.MIDI_ACOUSTIC_GUITAR="木吉他",vF.MIDI_ELECTRIC_GUITAR="电吉他",vF.MIDI_ACOUSTIC_BASS="民谣贝斯",vF.MIDI_STRING_ENSEMBLE="弦乐合奏",vF.MIDI_VIOLIN="小提琴",vF.MIDI_TRUMPET="小号",vF.MIDI_SAX="萨克斯",vF.MIDI_STEEL_DRUMS="钢鼓",vF.MIDI_LEAD="合成音主旋律",vF.MIDI_PAD="合成音衬底",vF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",vF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="设MIDI乐器 %1",vF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",vF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",vF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音调 %2",vF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",vF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="设点阵亮度等級 %1",vF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",vF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="点阵 %1",vF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",vF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0="设置点阵 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",vF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",vF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",vF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="点阵设置生效",vF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",vF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="设MP3音量 %1",vF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",vF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",vF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚连接音乐模块的 RXI 引脚",vF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",vF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",vF.MPYTHON_PLUS_1="加1",vF.MPYTHON_MINUS_1="減1",vF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",vF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",vF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",vF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",vF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",vF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="MP3 单曲循环 %1",vF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",vF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",vF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="设扩展端口 IO %2 为 %1",vF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",vF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",vF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="扩展端口值 IO %1",vF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",vF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",vF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="设扩展端口 IO %2 为 %1",vF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",vF.MPYTHON_LCD_OBJECT_HELPURL="",vF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",vF.MPYTHON_LCD_OBJECT_TOOLTIP="",vF.MPYTHON_LCD_PRINT_HELPURL="",vF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 显示 %1",vF.MPYTHON_LCD_PRINT_TOOLTIP="",vF.MPYTHON_LCD_HOME_HELPURL="",vF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光标 回到原点",vF.MPYTHON_LCD_HOME_TOOLTIP="",vF.MPYTHON_LCD_CURSOR_HELPURL="",vF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光标 %1",vF.MPYTHON_LCD_CURSOR_TOOLTIP="",vF.MPYTHON_LCD_SET_CURSOR_HELPURL="",vF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始点 行 %2 列 %1",vF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列从0开始计数",vF.MPYTHON_LCD_CLEAR_HELPURL="",vF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",vF.MPYTHON_LCD_CLEAR_TOOLTIP="",vF.MPYTHON_LCD_CURSOR_BLINK="闪烁",vF.MPYTHON_LCD_CURSOR_NO_BLINK="不闪烁",vF.MPYTHON_LEFT_TO_RIGHT="从左向右",vF.MPYTHON_RIGHT_TO_LEFT="从右向左",vF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",vF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",vF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",vF.MPYTHON_LCD_MOVE_HELPURL="",vF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滚动一格",vF.MPYTHON_LCD_MOVE_TOOLTIP="",vF.MPYTHON_IR_TRANS_HELPURL="",vF.MPYTHON_IR_TRANS_MESSAGE0="红外发送 单字节字符串 %1 tx 引脚 %2",vF.MPYTHON_IR_TRANS_TOOLTIP="\n单字节字符串:\n'A', 'b', '1'等",vF.OUTPUT_PIN_HELPURL="",vF.OUTPUT_PIN_MESSAGE0="%1",vF.OUTPUT_PIN_TOOLTIP="",vF.INPUT_PIN_HELPURL="",vF.INPUT_PIN_MESSAGE0="%1",vF.INPUT_PIN_TOOLTIP="",vF.READ_ANALOG_PIN_HELPURL="",vF.READ_ANALOG_PIN_MESSAGE0="%1",vF.READ_ANALOG_PIN_TOOLTIP="",vF.SET_DIGITAL_HELPURL="",vF.SET_DIGITAL_MESSAGE0="%1",vF.SET_DIGITAL_TOOLTIP="",vF.SET_ANALOG_HELPURL="",vF.SET_ANALOG_MESSAGE0="%1",vF.SET_ANALOG_TOOLTIP="",vF.ALL_PIN_HELPURL="",vF.ALL_PIN_MESSAGE0="%1",vF.ALL_PIN_TOOLTIP="",vF.PWM_PIN_HELPURL="",vF.PWM_PIN_MESSAGE0="%1",vF.PWM_PIN_TOOLTIP="",vF.DH11_HUM_TEM_PIN_HELPURL="",vF.DH11_HUM_TEM_PIN_MESSAGE0="%1",vF.DH11_HUM_TEM_PIN_TOOLTIP="",vF.UART_TX_PIN_HELPURL="",vF.UART_TX_PIN_MESSAGE0="%1",vF.UART_TX_PIN_TOOLTIP="",vF.UART_RX_PIN_HELPURL="",vF.UART_RX_PIN_MESSAGE0="%1",vF.UART_RX_PIN_TOOLTIP="",vF.I2C_PIN_HELPURL="",vF.I2C_PIN_MESSAGE0="%1",vF.I2C_PIN_TOOLTIP="",vF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",vF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",vF.MQTT_COMMON_SETUP_TOOLTIP="",vF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",vF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",vF.MQTT_TENCENT_SETUP_TOOLTIP="",vF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",vF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",vF.MQTT_TENCENT_SETUPS_TOOLTIP="",vF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服务器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",vF.MQTT_SETUP_TOOLTIP="",vF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_CONNECT_MESSAGE0="连接 MQTT",vF.MQTT_CONNECT_TOOLTIP="",vF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_PUBLISH_MESSAGE0="发布 %1 至 主题 %2",vF.MQTT_PUBLISH_TOOLTIP="",vF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_REC_FROM_TOPIC_MESSAGE0="当从主题 %1 接收到 %2 时",vF.MQTT_REC_FROM_TOPIC_TOOLTIP="",vF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_RECEIVE_MESSAGE0="当从主题 %1 接收到 %2 时",vF.MQTT_RECEIVE_TOOLTIP='参数"主题"只接受变量',vF.MQTT_RECEIVED_MESSAGE0="当从主题 %1 接收到消息 时",vF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_MESSAGE_MESSAGE0="从 MQTT 收到的消息",vF.MQTT_MESSAGE_TOOLTIP="",vF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_WAIT_MSG_MESSAGE0="等待主题消息 以 %1 模式",vF.MQTT_WAIT_MSG_TOOLTIP="建议放在'一直重复'中运行",vF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",vF.MQTT_DISCONNECT_MESSAGE0="MQTT 断开连接",vF.MQTT_DISCONNECT_TOOLTIP="",vF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",vF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",vF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",vF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",vF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",vF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",vF.MPYTHON_SIOT_CONNECT_HELPURL="",vF.MPYTHON_SIOT_CONNECT_TOOLTIP="",vF.MPYTHON_SIOT_CONNECT_MESSAGE0="创建 SIoT 连接 %1 客户端ID %2 服务器 %3 用户 %4 密码 %5",vF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",vF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",vF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 连接成功 ?",vF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",vF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",vF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 订阅主题",vF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="点击左边星号 订阅 SIoT 主题",vF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 订阅 主题1",vF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主题",vF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",vF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多订阅 5 个主题",vF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",vF.MPYTHON_SIOT_DISCONNECT_HELPURL="",vF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",vF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 断开连接",vF.MPYTHON_SIOT_MESSAGE_HELPURL="",vF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",vF.MPYTHON_SIOT_MESSAGE_MESSAGE0="从 SIoT 收到的消息",vF.MPYTHON_SIOT_TOPIC1="主题1",vF.MPYTHON_SIOT_TOPIC2="主题2",vF.MPYTHON_SIOT_TOPIC3="主题3",vF.MPYTHON_SIOT_TOPIC4="主题4",vF.MPYTHON_SIOT_TOPIC5="主题5",vF.MPYTHON_SIOT_PUBLISH_HELPURL="",vF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",vF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 发送消息 %1 到 %2",vF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 发送消息 %1 到 主题 %2",vF.MPYTHON_SIOT_RECEIVE_HELPURL="",vF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",vF.MPYTHON_SIOT_RECEIVE_MESSAGE0="当从 SIoT %1 收到消息时 %2 执行 %3",vF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="当从 SIoT 主题 %1 收到消息时 %2 执行 %3",vF.MPYTHON_IR_RECV_HELPURL="",vF.MPYTHON_IR_RECV_MESSAGE0="红外接收 整型 rx 引脚 %1",vF.MPYTHON_IR_RECV_TOOLTIP="第一次接收总为空",vF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 显示 %1 x %2 y %3",vF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",vF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",vF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",vF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",vF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",vF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",vF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 显示图像 x %1 y %2 宽 %3 高 %4 16进制图像数据 %5",vF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",vF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",vF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",vF.mpythonbox_sound_MESSAGE0="声音值",vF.mpythonbox_sound_TOOLTIP="采样数据,为0~4095。",vF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",vF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",vF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",vF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆电阻采样值。范围0~4095。",vF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",vF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按键%1",vF.MPYTHONBOX_5BUTTON_TOOLTIP="",vF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",vF.MPYTHONBOX_MOTOR_MESSAGE0="马达 速度%1",vF.MPYTHONBOX_MOTOR_TOOLTIP="马达速度,范围±100。正值表示正转,负值则反。",vF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",vF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超声波",vF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超声波测距,获取超声波传感器测距值,单位cm。范围3~340CM",vF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",vF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人体红外",vF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人体红外触发值。当为1时,表示已触发;当为0时,表示未触发。",vF.MPYTHONBOX_RGB_pixel_HELPURL="",vF.MPYTHONBOX_RGB_pixel_MESSAGE0="设定第 %1列 %2行 R%3 G%4 B%5",vF.MPYTHONBOX_RGB_pixel_TOOLTIP="设定第多少列,行的RGB顏色",vF.MPYTHONBOX_RGB_get_pixel_HELPURL="",vF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",vF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB颜色",vF.MPYTHONBOX_RGB_ImageText_HELPURL="",vF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滚动显示文本%1 速度%2",vF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滚动显示文本,亮度为0不亮,9最亮",vF.MPYTHONBOX_RGB_SetImage_HELPURL="",vF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",vF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",vF.MPYTHONBOX_RGB_Image_HELPURL="",vF.MPYTHONBOX_RGB_Image_MESSAGE0="显示图像%1",vF.MPYTHONBOX_RGB_Image_TOOLTIP="显示图像",vF.MPYTHONBOX_RGB_SetImage_HELPURL="",vF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",vF.MPYTHONBOX_RGB_SetImage_TOOLTIP="创建新图像,每行每位数代表第几位灯,默认红色;亮度为0不亮,9最亮。",vF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="显示图像/文本 %1",vF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="显示图像或文本消息。",vF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",vF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="显示图像 %1",vF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="显示图像。",vF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",vF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="复制图像 %1",vF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="复制图像。",vF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",vF.MPYTHONBOX_RGB_ImageCot_HELPURL="",vF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪图像%1 列%2 行%3 宽%4 高%5",vF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪图像",vF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="内置图像 %1",vF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="选择一个内置的图像。",vF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移图像 %1 %2 %3 位",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移动图像,并返回移动后的结果。",vF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",vF.MPYTHONBOX_RGB_clear_HELPURL="",vF.MPYTHONBOX_RGB_clear_MESSAGE0="关闭所有 RGB 灯",vF.MPYTHONBOX_RGB_clear_TOOLTIP="",vF.MPYTHONBOX_RGB_pixel_return_HELPURL="",vF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 颜色",vF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",vF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1轴加速度",vF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",vF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1轴角速度",vF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",vF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1欧拉角",vF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回当前欧拉角(Pitch,Roll,Yaw),单位角度",vF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",vF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元数",vF.MPYTHONBOX_QUATERNION_TOOLTIP="返回当前四元数(w,x,y,z)",vF.MPYTHONBOX_CAMERA_LED_HELPURL="",vF.MPYTHONBOX_CAMERA_LED_MESSAGE0="摄像灯%1",vF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led灯,分为打开和关闭两种状态",vF.LIST_FIRST_INDEX_HELPURL="",vF.LIST_FIRST_INDEX_MESSAGE0="项 %1 在列表 %2 %3 出现的位置",vF.LIST_FIRST_INDEX_TOOLTIP="",vF.MPYTHON_AI_LCD_INIT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",vF.MPYTHON_AI_LCD_INIT_MESSAGE0="屏幕 初始化 ",vF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 屏幕显示",vF.MPYTHON_AI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",vF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="摄像头 初始化",vF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",vF.MPYTHON_AI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="摄像头%1",vF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取图像",vF.MPYTHON_AI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",vF.MPYTHON_AI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",vF.MPYTHON_AI_LCD_TEXT_TOOLTIP="仅支持字母和数字",vF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",vF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",vF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",vF.MPYTHON_AI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",vF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 摄像头 获取%1",vF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)摄像头返回参数(宽高,图像帧的格式,图像帧的大小)",vF.MPYTHON_AI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",vF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",vF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",vF.MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",vF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",vF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",vF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",vF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="摄像头 白平衡%1",vF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="设置摄像自动白平衡模式,默认打开。True为打开, False为关闭自动白平衡。若您想追踪颜色,则需关闭白平衡。",vF.MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",vF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 %1 %2",vF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",vF.MPYTHON_AI_LCD_DISPLAY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",vF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 显示生效",vF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示",vF.MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",vF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 显示生效 x%1 y%2 宽%3 高%4",vF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上显示一张图片",vF.MPYTHON_AI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",vF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",vF.MPYTHON_AI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",vF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",vF.MPYTHON_AI_LCD_SHOW_REC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",vF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",vF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",vF.MPYTHON_AI_LCD_SHOW_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="屏幕 显示清空",vF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",vF.MPYTHON_AI_LCD_CLEAR_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",vF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",vF.MPYTHON_AI_LCD_return_colour_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",vF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",vF.MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_TEXT_MOST_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",vF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",vF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",vF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",vF.MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",vF.MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",vF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL=".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",vF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="图像转换为%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻转是将二进制图像0(黑色)变为1(白色),1(白色)变为0(黑色),非常快速地翻转二进制图像中的所有像素值。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="图像 从笛卡尔坐标到%1 坐标重新投影 反向%2",vF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",vF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",vF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="图像 膨胀 级别%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="图像 中点滤波 级别%1 滤波%2",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制图像混合的最小/最大程度。0只适用于最小滤波,1仅用于最大滤波。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="图像 众数滤波 级别%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在图像上运行众数滤波,用相邻像素的模式替换每个像素。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",vF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="图像 模糊滤波 级别%1",vF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式滤波器的标准均值模糊滤波。",vF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",vF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="图像 卡通化 级别%1 起始像素差异%2 相邻像素差异%3",vF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",vF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",vF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="图像 3D旋转 上下旋转%1 左右旋转%2 度数%3 左右移动%4 上下移动%5 缩放%6",vF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通过执行帧缓冲区的3D旋转来纠正图像中的透视问题。",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",vF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",vF.MPYTHON_AI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(实验箱)选择训练模型 人脸",vF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(实验箱)调用摄像头进行 人脸识别",vF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_AI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(实验箱)获取识别后人脸的 所有参数",vF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",vF.MPYTHON_AI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(实验箱)获取识别后人脸的 x坐标",vF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",vF.MPYTHON_AI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(实验箱)获取识别后人脸的 y坐标",vF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",vF.MPYTHON_AI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(实验箱)获取识别后人脸的 宽度",vF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",vF.MPYTHON_AI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(实验箱)获取识别后人脸的 高度",vF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",vF.MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(实验箱)获取识别后人脸的 置信度",vF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",vF.MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(实验箱)获取识别后人脸的 数量",vF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",vF.MPYTHON_AI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(实验箱)选择训练模型 20类",vF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(实验箱)调用摄像头进行 20类识别",vF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",vF.MPYTHON_AI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(实验箱)获取识别后20类的 所有参数",vF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",vF.MPYTHON_AI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(实验箱)获取识别后20类的 x坐标",vF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",vF.MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(实验箱)获取识别后20类的 y坐标",vF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",vF.MPYTHON_AI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(实验箱)获取识别后20类的 宽度",vF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",vF.MPYTHON_AI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(实验箱)获取识别后20类的 高度",vF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",vF.MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(实验箱)获取识别后20类的 置信度",vF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",vF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(实验箱)获取识别后20类的 数量",vF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",vF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(实验箱)获取识别后20类的 类型",vF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(实验箱)获取识别后20类的 类型数量",vF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",vF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(实验箱)选择训练模型 手写数字",vF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",vF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(实验箱)调用摄像头进行 手写数字识别",vF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",vF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(实验箱)获取识别后手写数字的 所有参数",vF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",vF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(实验箱)获取识别后手写数字的 数字",vF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",vF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(实验箱)获取识别后手写数字的 置信度",vF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",vF.MPYTHON_AI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",vF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(实验箱)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",vF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追踪色块",vF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",vF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(实验箱)追踪颜色 显示%1",vF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",vF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(实验箱)%1获取识别后色块的 所有参数",vF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_X_MESSAGE0="(实验箱)%1获取识别后色块的 x坐标",vF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_Y_MESSAGE0="(实验箱)%1获取识别后色块的 y坐标",vF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_W_MESSAGE0="(实验箱)%1获取识别后色块的 宽度",vF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_H_MESSAGE0="(实验箱)%1获取识别后色块的 高度",vF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(实验箱)%1获取识别后色块的 数量",vF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(实验箱)%1获取识别后色块的 中心x坐标",vF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(实验箱)%1获取识别后色块的 中心y坐标",vF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(实验箱)%1获取识别后色块的 矩形",vF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",vF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",vF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",vF.MPYTHON_AI_LCD_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",vF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",vF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",vF.MPYTHON_AI_SENSOR_PATTERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",vF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="摄像头 初始化 像素模式 %1",vF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用于设置摄像头像素模式,有黑白和rgb彩色",vF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 训练 %1",vF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",vF.MPYTHON_DRILL_WEIGHT_HELPURL="",vF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",vF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="实例化 线性回归直线",vF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",vF.MPYTHON_DRILL_TITLE_HELPURL="",vF.MPYTHON_DRILL_TITLE_MESSAGE0="标题%1 字号%2",vF.MPYTHON_DRILL_TITLE_TOOLTIP="",vF.MPYTHON_DRILL_LABEL_HELPURL="",vF.MPYTHON_DRILL_LABEL_MESSAGE0="标签%1 标题%2 字号%3",vF.MPYTHON_DRILL_LABEL_TOOLTIP="",vF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",vF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真实数据 符号标记%1 颜色为r%2 g%3 b%4 标题%5",vF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",vF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",vF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="预测线性回归直线 符号标记%1 颜色为r%2 g%3 b%4 标题%5",vF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",vF.MPYTHON_DRILL_LEGEND_HELPURL="",vF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示图例",vF.MPYTHON_DRILL_LEGEND_TOOLTIP="",vF.MPYTHON_DRILL_SHOW_HELPURL="",vF.MPYTHON_DRILL_SHOW_MESSAGE0="显示图片",vF.MPYTHON_DRILL_SHOW_TOOLTIP="",vF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",vF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="输入测试数值%1",vF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",vF.MPYTHON_DRILL_DRILL_full_line="实线",vF.MPYTHON_DRILL_DRILL_dash_line="破折线",vF.MPYTHON_DRILL_DRILL_chain_line="点划线",vF.MPYTHON_DRILL_DRILL_imaginary_line="虚线",vF.MPYTHON_DRILL_DRILL_dot="点",vF.MPYTHON_DRILL_DRILL_pixel="像素",vF.MPYTHON_DRILL_DRILL_solid_rim="实心圈",vF.MPYTHON_DRILL_DRILL_down_triangle="下三角",vF.MPYTHON_DRILL_DRILL_up_triangle="上三角",vF.MPYTHON_DRILL_DRILL_right_triangle="右三角",vF.MPYTHON_DRILL_DRILL_left_triangle="左三角",vF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",vF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",vF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",vF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",vF.MPYTHON_DRILL_DRILL_solid_square="实心方形",vF.MPYTHON_DRILL_DRILL_solid_pentagon="实心五角",vF.MPYTHON_DRILL_DRILL_star="星形",vF.MPYTHON_DRILL_DRILL_vertical_hexagon="竖六边形",vF.MPYTHON_DRILL_DRILL_across_hexagon="横六边形",vF.MPYTHON_DRILL_DRILL_cross="十字",vF.MPYTHON_DRILL_DRILL_X="X",vF.MPYTHON_DRILL_DRILL_rhombus="菱形",vF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",vF.MPYTHON_DRILL_DRILL_vertical_line="垂直线",vF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鸢尾花数据集",vF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="采用Python的Sklearn机器学习库中自带的数据集——鸢尾花数据集。简单分析数据集之间特征的关系图,根据花瓣长度、花瓣宽度、花萼长度、花萼宽度四个特征进行绘图Iris plants 数据集可以从KEEL dataset数据集网站获取,也可以直接从Sklearn.datasets机器学习包得到。数据集共包含4个特征变量、1个类别变量,共有150个样本。类别变量分别对应鸢尾花的三个亚属,分别是山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica) 分别用[0,1,2]来做映射",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鸢尾花 主成分分析",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鸢尾花 因子分析 3D",vF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鸢尾花 因子分析",vF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="预测图示 鸢尾花类型%1 呈现内容 x%3 y%4 呈现种类%2 颜色为 r%5 g%6 b%7 标题%8 向上合并%9",vF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="预测图示 呈现内容 x%1 y%2 呈现种类%3 颜色为 r%4 g%5 b%6 标题%7",vF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 预测图示 呈现内容 x朝向%1 y朝向%2 z朝向%3 颜色为 r%4 g%5 b%6 标题%7",vF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="标题%1 字号%2",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="标签%1 标题%2 字号%3",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 标题%1 字号%2",vF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 标签%1 标题%2 字号%3",vF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示图例",vF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="显示图片",vF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",vF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",vF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x,y坐标",vF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150条记录,分别代表50条山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)、维吉尼亚鸢尾(Iris-virginica)",vF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鸢尾",vF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="变色鸢尾",vF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="维吉尼亚鸢尾",vF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散点图",vF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde图",vF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱图",vF.MPYTHONS_FLOWER_DE_LUCE_merge="合并",vF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合并",vF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼长度",vF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼宽度",vF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣长度",vF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣宽度",vF.MPYTHONS_CONVERT_PICTURE_HELPURL="",vF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="将图片转换为28²二值图%1 待处理的图片存储路径%2 处理后的图片存储路径%3 格式%4",vF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通过串口把WIF传给语音助手",vF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",vF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手写数字数据 存储路径%1",vF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手写数字字符库",vF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",vF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手写数字图像 存储路径%1",vF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="手写数字图像的路径",vF.MPYTHONS_SHOW_NUMBER_HELPURL="",vF.MPYTHONS_SHOW_NUMBER_MESSAGE0="显示手写数字图像",vF.MPYTHONS_SHOW_NUMBER_TOOLTIP="显示手写数字图像",vF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",vF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="识别手写数字图像 存储路径%1",vF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="识别手写数字图像的路径",vF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",vF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="创建变量%1 初始化 神经网络张量 变量名%2",vF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",vF.MPYTHON_DRILL_RESHAPE_MESSAGE0="创建变量%1 将输入照片变量 %2 转换为 神经网络输出张量%3",vF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",vF.MPYTHON_DRILL_RESHAPE_HELPURL="",vF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="创建变量%1 共享变量名%2 初始化模式%3",vF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",vF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",vF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="产生截断正态分布随机数 输出张量%1 标准差%2",vF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",vF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",vF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="创建常量 数值%1 输出张量%2",vF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",vF.MPYTHON_NUMBER_CONSTANT_HELPURL="",vF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神经网络输出张量%1 共享变量%2 步长%3 填充%4",vF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",vF.MPYTHON_NUMBER_CONV2D_HELPURL="",vF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="张量%1",vF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",vF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",vF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷积二维层 变量%1 %2",vF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",vF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",vF.MPYTHON_NUMBER_RELU_MESSAGE0="创建变量%1 Relu正向激励函数 卷积二维层%2",vF.MPYTHON_NUMBER_RELU_TOOLTIP="",vF.MPYTHON_NUMBER_RELU_HELPURL="",vF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二维层 变量%1 卷积层%2 池化窗口%3 步长%4 填充%5",vF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",vF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",vF.MPYTHON_NUMBER_MATMUL_MESSAGE0="两个参数的对应元素各自相乘 x%1 y%2",vF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",vF.MPYTHON_NUMBER_MATMUL_HELPURL="",vF.MPYTHON_NUMBER_ADD_MESSAGE0="全连接层 变量%1 两个参数的元素相加 x%2 y%3",vF.MPYTHON_NUMBER_ADD_TOOLTIP="",vF.MPYTHON_NUMBER_ADD_HELPURL="",vF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="创建变量%1 预测模型准确度 变量名%2",vF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",vF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",vF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="创建变量%1 损失函数%2",vF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",vF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",vF.MPYTHON_NUMBER_LOG_MESSAGE0="自然对数 %1",vF.MPYTHON_NUMBER_LOG_TOOLTIP="",vF.MPYTHON_NUMBER_LOG_HELPURL="",vF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="压缩求和%1 维度%2",vF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。",vF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",vF.MPYTHON_NUMBER_TRAIN_MESSAGE0="优化学习速率 %1",vF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",vF.MPYTHON_NUMBER_TRAIN_HELPURL="",vF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="创建变量%1 优化张量%2",vF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",vF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",vF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",vF.MPYTHON_NUMBER_INIT_TOOLTIP="",vF.MPYTHON_NUMBER_INIT_HELPURL="",vF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="选择 手写数字集%1 数量%2",vF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",vF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",vF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",vF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",vF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",vF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",vF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",vF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",vF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="预测模型%1 拟合度%2 会话%3",vF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",vF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",vF.MPYTHON_NUMBER_EQUAL_MESSAGE0="两个张量的每一维是否相等 x%1 y%2",vF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",vF.MPYTHON_NUMBER_EQUAL_HELPURL="",vF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="张量 %1 按%2比较返回最大值的索引",vF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",vF.MPYTHON_NUMBER_ARGMAX_HELPURL="",vF.MPYTHON_NUMBER_CAST_MESSAGE0="转为浮点型 %1",vF.MPYTHON_NUMBER_CAST_TOOLTIP="",vF.MPYTHON_NUMBER_CAST_HELPURL="",vF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",vF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手写数字识别模型 变量名%1 存储路径%2",vF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手写数字识别模型保存路径",vF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",vF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加载模型 %1 存储路径%2",vF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="加载模型",vF.MPYTHONS_NUMBER_SAME="包含边界",vF.MPYTHONS_NUMBER_VALID="不包含边界",vF.MPYTHONS_NUMBER_train="训练",vF.MPYTHONS_NUMBER_test="测试",vF.MPYTHONS_NUMBER_row="行",vF.MPYTHONS_NUMBER_rank="列",vF.MPYTHONS_NUMBERNEW_INITIALIZE_HELPURL="",vF.MPYTHONS_NUMBERNEW_INITIALIZE_MESSAGE0="初始化 张量 载入mnist数据集",vF.MPYTHONS_NUMBERNEW_INITIALIZE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_MESSAGE0="卷积 一 层",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_POOLING_ONE_HELPURL="",vF.MPYTHONS_NUMBERNEW_POOLING_ONE_MESSAGE0="池化 一 层",vF.MPYTHONS_NUMBERNEW_POOLING_ONE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_MESSAGE0="卷积 二 层",vF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_POOLING_TWO_HELPURL="",vF.MPYTHONS_NUMBERNEW_POOLING_TWO_MESSAGE0="池化 二 层",vF.MPYTHONS_NUMBERNEW_POOLING_TWO_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONNECT_ONE_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONNECT_ONE_MESSAGE0="全连接 一 层",vF.MPYTHONS_NUMBERNEW_CONNECT_ONE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_CONNECT_TWO_HELPURL="",vF.MPYTHONS_NUMBERNEW_CONNECT_TWO_MESSAGE0="全连接 二 层",vF.MPYTHONS_NUMBERNEW_CONNECT_TWO_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_LOSS_HELPURL="",vF.MPYTHONS_NUMBERNEW_LOSS_MESSAGE0="配置Adam优化器 学习速率为%1",vF.MPYTHONS_NUMBERNEW_LOSS_TOOLTIP="学习速率为0.001~0.000001之间",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_MESSAGE0="初始化 tensorflow模型%1 训练模型%2 步数%3",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TOOLTIP="步数不能小于10",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_MESSAGE0="模型训练准确率",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_MESSAGE0="预测 训练正确率",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_TOOLTIP="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_MESSAGE0="预测 手写数字%1",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_TOOLTIP="仅支持28*28像素的黑白图片",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_HELPURL="",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_MESSAGE0="显示图片%1",vF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="调用摄像头 %1",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="调用笔记本内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="关闭摄像头",vF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="删除所有窗口",vF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",vF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="从摄像头读取图片",vF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有读取图片就True,否则false;第二个参数是frame,是当前截取一帧的图片。",vF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="转为灰度图片",vF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="检测人脸 每次图像尺寸减小比例%1",vF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",vF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",vF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人脸区域显示矩形框 颜色为 红%1 绿%2 蓝%3",vF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存图像 位置%1 ID%2 编号%3",vF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中显示图像 文件名%1",vF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通过esc键 退出",vF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置顶时使用才有效果",vF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",vF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="获得人脸在图像中的坐标值 人脸%1",vF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否有读取图片",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打开摄像头",vF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="获取照片及id 照片存储路径%1",vF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化训练模型",vF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="初始化训练模型",vF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="开始训练模型",vF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1训练模型 存储路径%2",vF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人脸模型训练 数目",vF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口显示 识别的名字%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",vF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口显示 识别的置信度%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",vF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="预测人脸 名字%1 置信度%2",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="写入",vF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="读取",vF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",vF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",vF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",vF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",vF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",vF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",vF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",vF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",vF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",vF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",vF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",vF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",vF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",vF.Jenny="珍妮",vF.Jack="杰克",vF.Tom="汤姆",vF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",vF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",vF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",vF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",vF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查阅训练库 选择%1",vF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",vF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",vF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",vF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",vF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",vF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",vF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",vF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",vF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",vF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",vF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",vF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",vF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",vF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",vF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",vF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",vF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",vF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",vF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",vF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",vF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",vF.MPYTHON_AGESTURE_ARRAY_HELPURL="",vF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",vF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",vF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",vF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",vF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",vF.MPYTHON_GESTURE_READ_LEND_HELPURL="",vF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",vF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",vF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",vF.MPYTHON_GESTURE_SCORE_HELPURL="",vF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",vF.MPYTHON_GESTURE_SCORE_TOOLTIP="",vF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",vF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",vF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",vF.MPYTHON_GESTURE_FORECAST_HELPURL="",vF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",vF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",vF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",vF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",vF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",vF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",vF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",vF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",vF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",vF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",vF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",vF.MPYTHON_AGESTURENEW_INITIALIZE_HELPURL="",vF.MPYTHON_AGESTURENEW_INITIALIZE_MESSAGE0="初始化 KNN",vF.MPYTHON_AGESTURENEW_INITIALIZE_TOOLTIP="",vF.MPYTHON_AGESTURENEW_SHOOT_HELPURL="",vF.MPYTHON_AGESTURENEW_SHOOT_MESSAGE0="拍摄 进行手势检测",vF.MPYTHON_AGESTURENEW_SHOOT_TOOLTIP="",vF.MPYTHON_AGESTURENEW_SHOOT_GRAY_HELPURL="",vF.MPYTHON_AGESTURENEW_SHOOT_GRAY_MESSAGE0="拍摄 训练集",vF.MPYTHON_AGESTURENEW_SHOOT_GRAY_TOOLTIP="",vF.MPYTHON_AGESTURENEW_GRAY_HELPURL="",vF.MPYTHON_AGESTURENEW_GRAY_MESSAGE0="图像处理",vF.MPYTHON_AGESTURENEW_GRAY_TOOLTIP="",vF.MPYTHON_AGESTURENEW_TRAIN_HELPURL="",vF.MPYTHON_AGESTURENEW_TRAIN_MESSAGE0="开始分类训练",vF.MPYTHON_AGESTURENEW_TRAIN_TOOLTIP="",vF.MPYTHON_AGESTURENEW_START_FORECAST_HELPURL="",vF.MPYTHON_AGESTURENEW_START_FORECAST_MESSAGE0="开始预测",vF.MPYTHON_AGESTURENEW_START_FORECAST_TOOLTIP="",vF.MPYTHON_AGESTURENEW_FORECAST_RESULT_HELPURL="",vF.MPYTHON_AGESTURENEW_FORECAST_RESULT_MESSAGE0="预测结果",vF.MPYTHON_AGESTURENEW_FORECAST_RESULT_TOOLTIP="",vF.MPYTHON_AGESTURENEW_SHOW_WINDOW_HELPURL="",vF.MPYTHON_AGESTURENEW_SHOW_WINDOW_MESSAGE0="显示图片";vF.MPYTHON_AGESTURENEW_SHOW_WINDOW_TOOLTIP="",vF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",vF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",vF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",vF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",vF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",vF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",vF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",vF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",vF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",vF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",vF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",vF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",vF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",vF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",vF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",vF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",vF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",vF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",vF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="Esc退出拍摄",vF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",vF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",vF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",vF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸库%1",vF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",vF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_HELPURL="",vF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_MESSAGE0="拍照 进行人脸检测 %1",vF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_TOOLTIP="按S建拍摄,Esc退出拍摄",vF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",vF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",vF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",vF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",vF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",vF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",vF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",vF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",vF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",vF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表 排序前%1",vF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",vF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",vF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻",vF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",vF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",vF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",vF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="读取词汇表 排序前%1",vF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",vF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",vF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",vF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",vF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",vF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",vF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",vF.FIRST="第一次",vF.LAST="最后一次",vF.MPYTHON_USOCKET_BLOCK="阻塞",vF.MPYTHON_USOCKET_UNBLOCK="非阻塞",vF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",vF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="设置socket %1 地址 %2 类型 %3",vF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="设置给定套接字选项的值。所需的符号常量在套接字模块中定义(SO_ *等)。该值可以是整数或表示缓冲区的类字节对象。",vF.MPYTHON_USOCKET_READLINE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",vF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行数据,遇换行符结束并返回接收数据的对象",vF.MPYTHON_USOCKET_READLINE_TOOLTIP=" 接收一行数据,遇换行符结束,并返回接收数据的对象",vF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",vF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="设 socket %1 为 %2 模式",vF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",vF.MPYTHON_USOCKET_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.read",vF.MPYTHON_USOCKET_READ_MESSAGE0="从socket %1 读取 %2 字节并返回字节对象",vF.MPYTHON_USOCKET_READ_TOOLTIP="若未给定读取数量 ,则按照类似 socket.readall() 的模式运行",vF.MPYTHON_ESC_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",vF.MPYTHON_ESC_MESSAGE0="设 socket %1 为 %2 模式",vF.MPYTHON_ESC_TOOLTIP="",vF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.settimeout",vF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 设超时时间 %2 秒",vF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",vF.MPYTHON_USOCKET_SENDALL_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",vF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 连续发送 %2 并返回发送的字节数",vF.MPYTHON_USOCKET_SENDALL_TOOLTIP="将所有数据发送到套接字。套接字必须连接到远程套接字。与 send() 此不同,此方法将尝试通过连续发送数据块来发送所有数据。",vF.MPYTHON_USOCKET_SENDS_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",vF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",vF.MPYTHON_USOCKET_SENDS_TOOLTIP='将数据发送到套接字。套接字必须连接到远程套接字。返回发送的字节数,可能小于数据长度 ("short write")。',vF.MPYTHON_USOCKET_SEND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",vF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",vF.MPYTHON_USOCKET_SEND_TOOLTIP="Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",vF.MPYTHON_USOCKET_SENDTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.sendto",vF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 发送 %2 到地址 %3",vF.MPYTHON_USOCKET_SENDTO_TOOLTIP="Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",vF.MPYTHON_USOCKET_RECV_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recv",vF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收并返回接收到的数据对象 最大数据量为 %2",vF.MPYTHON_USOCKET_RECV_TOOLTIP="",vF.MPYTHON_TEXT_ESC_HELPURL="",vF.MPYTHON_TEXT_ESC_MESSAGE0="文本转义字符 %1",vF.MPYTHON_TEXT_ESC_TOOLTIP="文本转义字符",vF.MPYTHON_USOCKET_RECVFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recvfrom",vF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收并返回接收到的数据元组 最大数据量为 %2",vF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元组格式 (bytes, address)",vF.MPYTHON_USOCKET_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.connect",vF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 连接 host %2 端口 %3",vF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",vF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.getaddrinfo",vF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 并返回 ip",vF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需联网",vF.MPYTHON_USOCKET_ACCEPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",vF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接收连接请求并返回socket元组",vF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收连接请求。socket需要指定地址并监听连接。返回值是 (conn, address)。\nconn:新的socket对象,可以用来收发消息\naddress:连接到服务器的客户端地址",vF.MPYTHON_USOCKET_LISTEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.listen",vF.MPYTHON_USOCKET_LISTEN_MESSAGE0="监听socket %1 backlog个数 %2",vF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",vF.MPYTHON_USOCKET_BIND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.bind",vF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 绑定地址 %2 端口 %3",vF.MPYTHON_USOCKET_BIND_TOOLTIP="",vF.MPYTHON_USOCKET_CLOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.close",vF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 关闭",vF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",vF.MPYTHON_USOCKET_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",vF.MPYTHON_USOCKET_INIT_MESSAGE0="创建 socket %1 地址 %2 类型 %3",vF.MPYTHON_USOCKET_INIT_TOOLTIP="AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP流\nSOCK_DGRAM:=2 — UDP数据报\nSOCK_RAW :=3 — 原始套接字\nSO_REUSEADDR : =4 — socket可重用\n",vF.MPYTHON_GET_POST_HELPURL="",vF.MPYTHON_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",vF.MPYTHON_GET_POST_TOOLTIP="",vF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",vF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",vF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",vF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",vF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",vF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 请求网址 %2 文件路径 %3 Mime类型 %4 附加字段 %5",vF.MPYTHON_RESPONSE_HELPURL="",vF.MPYTHON_RESPONSE_MESSAGE0="响应内容 形式 %1",vF.MPYTHON_RESPONSE_TOOLTIP="",vF.STRING="字符串",vF._BYTE="二进制",vF.BYTES="字节",vF.TEXT="文本",vF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",vF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="响应属性 %1",vF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",vF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",vF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右键帮助,查看引脚声明",vF.MPYTHON_SETS_PIN_MODE_MESSAGE0="设置引脚 %1 为 %2 模式 %3 并设置值为 %4",vF.MPYTHON_SET_PIN_IN="输入",vF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽输出",vF.MPYTHON_SET_PIN_LEAKY_OUT="开漏输出",vF.MPYTHON_SET_PIN_NO_PULL="无上下拉",vF.MPYTHON_SET_PIN_DOWN_PULL="下拉",vF.MPYTHON_SET_PIN_UP_PULL="上拉",vF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",vF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="线程锁对象 %1 请求锁",vF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",vF.MPYTHON_START_NEW_THREAD_HELPURL="",vF.MPYTHON_START_NEW_THREAD_MESSAGE0="子线程 %1",vF.MPYTHON_START_NEW_THREAD_TOOLTIP="",vF.MPYTHON_UART_INIT_HELPURL="",vF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",vF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3组串口。0用于REPL,剩下1、2两组串口可用。所有引脚均可以作为串口的输入RX,除 P2、P3 、P4 、P10 只能作为输入,其余所有的引脚理论上都可以作为输出TX。",vF.MPYTHON_UART_DEINIT_HELPURL="",vF.MPYTHON_UART_DEINIT_MESSAGE0="关闭串口 %1",vF.MPYTHON_UART_DEINIT_TOOLTIP="关闭 UART 总线",vF.MPYTHON_UART_WRITE_STR_HELPURL="",vF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 写入文本 %2 %3",vF.MPYTHON_UART_WRITE_STR_TOOLTIP="将文本写入总线。\n返回值:写入或 None 超时的字节数。",vF.MPYTHON_UART_WRITE_HEX_HELPURL="",vF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 发送16进制字符串 %2 %3",vF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",vF.MPYTHON_UART_HAS_DATA_HELPURL="",vF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可读数据",vF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一个整数,计算可以无阻塞地读取的字符数。\n如果没有可用字符,它将返回0,如果有字符,则返回正数。\n即使有多个可读的字符,该方法也可以返回1。",vF.MPYTHON_UART_READLINE_HELPURL="",vF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 读取一行数据",vF.MPYTHON_UART_READLINE_TOOLTIP="读一行,以换行符结尾。\n返回值:读取行或 None 超时。",vF.MPYTHON_UART_READ_HELPURL="",vF.MPYTHON_UART_READ_MESSAGE0="串口 %1 读取数据",vF.MPYTHON_UART_READ_TOOLTIP="读取尽可能多的串口数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",vF.MPYTHON_UART_READ_LENGTH_HELPURL="",vF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 读取数据 长度 %2",vF.MPYTHON_UART_READ_LENGTH_TOOLTIP="读取指定长度字节数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",vF.MPYTHON_UART_WRITE_BYTE_HELPURL="",vF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 写入单字节 %2",vF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="参数取值为 0~255 整数\n将字节写入总线。\n返回值:写入或 None 超时的字节数。",vF.MPYTHON_UART_WRITE_BYTES_HELPURL="",vF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 写入字节数组 %2",vF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="将字节数组写入总线。\n返回值:写入或 None 超时的字节数。",vF.MPYTHON_BAUDRATE_HELPURL="",vF.MPYTHON_BAUDRATE_MESSAGE0="%1",vF.MPYTHON_BAUDRATE_TOOLTIP="",vF.MPYTHON_HIGH_LOW_HELPURL="",vF.MPYTHON_HIGH_LOW_MESSAGE0="%1",vF.MPYTHON_HIGH_LOW_TOOLTIP="",vF.MPYTHON_TEN_CONVERT_TO_HELPURL="",vF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10进制整数 %1 转化为 %2 字符串",vF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",vF.MPYTHON_BIN="二进制",vF.MPYTHON_OCT="八进制",vF.MPYTHON_HEX="十六进制",vF.MPYTHON_CONVERT_TO_TEN_HELPURL="",vF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 转 10进制整数",vF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",vF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",vF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10进制整数 %2 转 %1 字节",vF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",vF.MPYTHON_INT_TO_CHR_HELPURL="",vF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 转 ASCII 单字符",vF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",vF.MPYTHON_CHR_TO_INT_HELPURL="",vF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 单字符 %1 转 整型",vF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",vF.MPYTHON_STR_TO_HEX_HELPURL="",vF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 转 十六进制 字节",vF.MPYTHON_STR_TO_HEX_TOOLTIP="返回结果中用空格分隔两个十六进制数",vF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",vF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六进制字符串 %1 转 二进制 字节",vF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",vF.MPYTHON_DATA_TO_BASE64_HELPURL="",vF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式编码 返回字节对象",vF.MPYTHON_DATA_TO_BASE64_TOOLTIP="Base64编码是从二进制到字符的过程",vF.MPYTHON_BASE64_TO_DATA_HELPURL="",vF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解码 base64 数据 %1 返回字节对象",vF.MPYTHON_BASE64_TO_DATA_TOOLTIP="Base64编码是从二进制到字符的过程",vF.MPYTHON_UJSON_DUMPS_HELPURL="",vF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 转 json 字符串",vF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",vF.MPYTHON_UJSON_LOADS_HELPURL="",vF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",vF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",vF.MPYTHON_CUSTOM_CODE_HELPURL="",vF.MPYTHON_CUSTOM_CODE_TOOLTIP="",vF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",vF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",vF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",vF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定义返回值 %1",vF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",vF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定义终端部件 Terminal 虚拟管脚 V %1",vF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",vF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",vF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虚拟管脚的状态 V %1",vF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",vF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",vF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="当 Blynk 断开连接时",vF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",vF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",vF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="当 Blynk 连接时",vF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",vF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",vF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="运行 Blynk 定时器进程",vF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",vF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",vF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定时器",vF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",vF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",vF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定时器 %1",vF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',vF.MPYTHON_UART_INPUT_HELPURL="",vF.MPYTHON_UART_INPUT_MESSAGE0="从串口获取文本 提示语句 %1",vF.MPYTHON_UART_INPUT_TOOLTIP="",vF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",vF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="给虚拟管脚添加 属性 %1 值 %2",vF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放于 read 或 write 事件中,虚拟管脚由事件决定,与该管脚绑定的组件会拥有添加的属性",vF.MPYTHON_BLYNK_EMAIL_HELPURL="",vF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向预设邮箱发邮件 %1 主题 %2 正文 %3",vF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",vF.MPYTHON_BLYNK_RUN_HELPURL="",vF.MPYTHON_BLYNK_RUN_MESSAGE0="运行 Blynk 进程",vF.MPYTHON_BLYNK_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",vF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",vF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 显示通知 %1",vF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",vF.MPYTHON_BLYNKTIMER_HELPURL="",vF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定时器 %1 %2 周期 %3 秒",vF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',vF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",vF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="发送数据 %1 到 Blynk APP 的 虚拟管脚 V %2",vF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虚拟管脚:V0 ~ V255",vF.MPYTHON_BLYNK_SETUP_HELPURL="",vF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 设置 %1 服务器 %2 端口 %3 授权码 %4",vF.MPYTHON_BLYNK_SETUP_TOOLTIP="服务器可填 blynk-cloud.com(官网) 或者 blynk.mpython.cn(国内)\n默认端口为 8080\n注意:手机APP访问端口为 9443",vF.MPYTHON_BLYNK_APP_DATA_HELPURL="",vF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="当 从 Blynk APP 收到 虚拟管脚 V %1 的值 %2",vF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虚拟管脚:V0 ~ V255",vF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="当 收到 Blynk 虚拟管脚 V %1 的值",vF.MPYTHON_BLYNK_VALUE_MESSAGE0="从 Blynk 收到的值",vF.MPYTHON_BLYNK_VALUE_TOOLTIP="",vF.MPYTHON_BLYNK_VALUE_HELPURL="",vF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 断开连接",vF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",vF.MPYTHON_ONENET_DISCONNECT_HELPURL="",vF.MPYTHON_ONENET_MSG_MESSAGE0="从 OneNET 收到的消息",vF.MPYTHON_ONENET_MSG_TOOLTIP="",vF.MPYTHON_ONENET_MSG_HELPURL="",vF.MPYTHON_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 %1 时",vF.MPYTHON3_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 时",vF.MPYTHON_ONENET_RECV_TOOLTIP="",vF.MPYTHON_ONENET_RECV_HELPURL="",vF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="当 从 OneNET 收到特定消息 %1 时",vF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",vF.MPYTHON_ONENET_RECV_MSG_HELPURL="",vF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 发送数据流 名称 %1 值 %2",vF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",vF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",vF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 发送数据流 %1",vF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",vF.MPYTHON_ONENET_PUB_DICT_HELPURL="",vF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 发送数据流 名称 %1 值 %2",vF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",vF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",vF.INT_TO_CHR_HELPURL="",vF.INT_TO_CHR_MESSAGE0="整数 %1 转 ASCII 单字符",vF.INT_TO_CHR_TOOLTIP="",vF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",vF.MPYTHON_ONENET="OneNET 设置",vF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",vF.MPYTHON_ONENET_OPTION_BOARDS="可选掌控板",vF.MPYTHON_ONENET_TITLE="OneNET",vF.MPYTHON_SERVER="服务器",vF.MPYTHON_DEVICE_ID="设备ID",vF.MPYTHON_PRODUCT_ID="产品ID",vF.MPYTHON_API_KEY="产品APIKey",vF.MPYTHON_ONENET_CALLBACK="回调函数",vF.MPYTHON_TOPIC="主题",vF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回调函数",vF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",vF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 选择掌控板应用 %1",vF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",vF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",vF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超声波距离 测量单位 %2",vF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",vF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",vF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超声波(mm)",vF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",vF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",vF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超声波初始化 名称 %1 trigger %2 echo %3",vF.MPYTHON_HCSR04_OBJ_TOOLTIP="",vF.MPYTHON_PM2_5_MIC_HELPURL="",vF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值浓度%2",vF.MPYTHON_PM2_5_MIC_TOOLTIP="",vF.MPYTHON_PM2_5_LitresAir_HELPURL="",vF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1升空气中直径在%2 颗粒物个数",vF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",vF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="当 红外接收端 %1 收到消息时 %2 执行 %3",vF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="红外回调地址",vF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="红外接收内容",vF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="红外接收 %1 回调地址 %2 回调命令 %3",vF.MPYTHON_IR_REMOTE_RECV_HELPURL="",vF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",vF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="红外发送 %1 地址 %2 命令 %3",vF.MPYTHON_IR_REMOTE_SEND_HELPURL="",vF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",vF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",vF.TEXT_FORMAT_TOOLTIP="",vF.TEXT_FORMAT_HELPURL="",vF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",vF.TEXT_FORMAT2_TOOLTIP="",vF.TEXT_FORMAT2_HELPURL="",vF.TEXT_TO_BYTE_MESSAGE0="转字节 %1",vF.TEXT_TO_BYTE_TOOLTIP="支持数据类型:string",vF.TEXT_TO_BYTE_HELPURL="",vF.MPYTHON_BYTES_DECODE_HELPURL="",vF.MPYTHON_BYTES_DECODE_MESSAGE0="字节 %1 转 字符串",vF.MPYTHON_BYTES_DECODE_TOOLTIP="",vF.OTHER_TO_BYTE_MESSAGE0="非文本转字节 %1",vF.OTHER_TO_BYTE_TOOLTIP="",vF.OTHER_TO_BYTE_HELPURL="",vF.MPYTHON_ONENET_TOOLTIP="创建OneNET连接",vF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物联网 确保连接到 Wi-Fi 名称 %1 密码 %2",vF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",vF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",vF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",vF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="当从小程序收到 %1 和 %2 时",vF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",vF.MPYTHON_MAC_ADDRESS_HELPURL="",vF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",vF.MPYTHON_MAC_ADDRESS_TOOLTIP="",vF.MPYTHON_RADIO_REC_HELPURL="",vF.MPYTHON_RADIO_REC_MESSAGE0="无线广播 接收消息",vF.MPYTHON_RADIO_REC_TOOLTIP="所接收为字节型",vF.MPYTHON_RADIO_SEND_HELPURL="",vF.MPYTHON_RADIO_SEND_MESSAGE0="无线广播 发送 %1",vF.MPYTHON_RADIO_SEND_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_CHANNEL_HELPURL="",vF.MPYTHON_RADIO_CHANNEL_MESSAGE0="设无线广播 频道为 %1",vF.MPYTHON_RADIO_CHANNEL_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_ON_OFF_HELPURL="",vF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 无线广播",vF.MPYTHON_RADIO_ON_OFF_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_MSG_MESSAGE0="收到的无线广播消息",vF.MPYTHON_RADIO_MSG_TOOLTIP="",vF.MPYTHON_RADIO_MSG_HELPURL="",vF.MPYTHON3_RADIO_RECV_MESSAGE0="当 收到无线广播消息 时 %1 执行 %2",vF.MPYTHON_RADIO_RECV_MESSAGE0="当 收到无线广播消息 %1 时",vF.MPYTHON_RADIO_RECV_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_RECV_HELPURL="",vF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="当 收到特定无线广播消息 %1 时 %2 执行 %3",vF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="频道: 1~13",vF.MPYTHON_RADIO_RECV_MSG_HELPURL="",vF.MPYTHON_UDP_INIT_HELPURL="",vF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 连接",vF.MPYTHON_UDP_INIT_TOOLTIP="UDP连接基于Wi-Fi",vF.MPYTHON_UDP_SEND_HELPURL="",vF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群发消息 %1",vF.MPYTHON_UDP_SEND_TOOLTIP="",vF.MPYTHON_UDP_SENDTO_HELPURL="",vF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 发送消息 %1 到 %2 端口 %3",vF.MPYTHON_UDP_SENDTO_TOOLTIP="",vF.MPYTHON_UDP_RECV_HELPURL="",vF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",vF.MPYTHON_UDP_RECV_TOOLTIP="",vF.MPYTHON_UDP_RECV_EVENT_HELPURL="",vF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="当从 UDP 收到消息时 %1 执行 %2",vF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",vF.MPYTHON_UDP_RECV_MSG_MESSAGE0="从 UDP 收到的消息",vF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",vF.MPYTHON_UDP_RECV_MSG_HELPURL="",vF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鸟叫",vF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="钢琴黑暗旋律配乐",vF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="猫叫",vF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",vF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="浑厚的打击音",vF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="紧张效果的音效",vF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快门声",vF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="数百只苍蝇",vF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫声",vF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="摇晃低音声线",vF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="听众欢呼掌声",vF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="邮轮汽笛",vF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="现代电话铃声",vF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔萝卜",vF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="两只老虎",vF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",vF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="设音频音量 %1",vF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",vF.MPYTHON_DISPCHAR_MODE_1="普通",vF.MPYTHON_DISPCHAR_MODE_2="反转",vF.MPYTHON_DISPCHAR_MODE_3="透明",vF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",vF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 语音播放 %1",vF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 讯飞开放平台 www.xfyun.cn 上开通“在线语音合成”服务",vF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",vF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 语音配置 APPID %1 APIKey %2",vF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="输入在 讯飞开放平台 www.xfyun.cn 获取的 APPID 与 APIKey\n注意:要设置IP白名单",vF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",vF.MPYTHON_AUDIO_PLAY_MESSAGE0="音频 播放 %1",vF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",vF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",vF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音频 播放 %1",vF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",vF.MPYTHON_AUDIO_DEINIT_HELPURL="",vF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音频 释放缓存",vF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",vF.MPYTHON_AUDIO_INIT_HELPURL="",vF.MPYTHON_AUDIO_INIT_MESSAGE0="音频 初始化",vF.MPYTHON_AUDIO_INIT_TOOLTIP="为音频解码开辟缓存",vF.MPYTHON_AUDIO_CMD_HELPURL="",vF.MPYTHON_AUDIO_CMD_MESSAGE0="音频 %1",vF.MPYTHON_AUDIO_CMD_TOOLTIP="",vF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",vF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="开始录音 录音时长%1秒",vF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。录音时长不能超过5秒",vF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",vF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="录音结果",vF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",vF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",vF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="将 %1 进行识别",vF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",vF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",vF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="识别录音结果",vF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",vF.MPYTHON_RECORD_INIT_HELPURL="",vF.MPYTHON_RECORD_INIT_MESSAGE0="录音 初始化",vF.MPYTHON_RECORD_INIT_TOOLTIP="录音初始化。\n需要掌控板v1.1以上硬件版本。",vF.MPYTHON_RECORD_DEINIT_HELPURL="",vF.MPYTHON_RECORD_DEINIT_MESSAGE0="录音 释放资源",vF.MPYTHON_RECORD_DEINIT_TOOLTIP="录音结束后释放资源。\n需要掌控板v1.1以上硬件版本。",vF.MPYTHON_RECORD_WAV_HELPURL="",vF.MPYTHON_RECORD_WAV_MESSAGE0="录制音频 存储路径 %1 时长 %2 秒",vF.MPYTHON_RECORD_WAV_TOOLTIP="录制音频,并以 WAV 格式存储。\n需要掌控板v1.1以上硬件版本。",vF.MPYTHON_ASR_HELPURL="",vF.MPYTHON_ASR_MESSAGE0="识别 %1 秒语音指令",vF.MPYTHON_ASR_TOOLTIP="可以识别3秒内的语音指令。\n需要掌控板v1.1以上硬件版本。",vF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_button_A="P5(按键A)",vF.mpython_button_B="P11(按键B)",vF.mpython_PIN7_RGB="P7(板载RGB)",vF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",vF.MPYTHON_PWM_PIN_P9="P9 (掌控实验箱)",vF.mpython_tem="温度",vF.mpython_hum="湿度",vF.mpython_pre="气压",vF.mpython_left_right="左右",vF.MPYTHON_LEFT="左",vF.MPYTHON_RIGHT="右",vF.mpython_front_back="前后",vF.mpython_vertical="垂直",vF.mpython_horizontal="水平",vF.mpython_run_in_back="后台运行",vF.mpython_run_in_front="前台运行",vF.mpython_draw="绘制",vF.mpython_clear="清除",vF.mpython_s="秒",vF.mpython_ms="毫秒",vF.mpython_us="微秒",vF.mpython_year="年",vF.mpython_month="月",vF.mpython_date="日",vF.mpython_hour="时",vF.mpython_minute="分",vF.mpython_week="星期数",vF.mpython_days="天数",vF.MPYTHON_ORDER="第",vF.MPYTHON_REVERSE_ORDER="倒数第",vF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定递增基数集合中的一个随机数,基数缺省值为1",vF.MATH_RANDOM_RANDRANGE_MESSAGE0="随机数 从递增区间 [%1 ,%2) 递增步长%3",vF.MATH_KEEP_DECIMAL_HELPURL="",vF.MATH_KEEP_DECIMAL_TOOLTIP="",vF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小数",vF.MPYTHON_MIN="最小值",vF.MPYTHON_MAX="最大值",vF.MPYTHON_LENTH="长度",vF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.TUPLE_MIN_MAX_LEN_TOOLTIP="",vF.TUPLE_MIN_MAX_LEN_MESSAGE0="元组 %1 %2",vF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.TUPLE_ITEM_EXIST_TOOLTIP="",vF.TUPLE_ITEM_EXIST_MESSAGE0="元组%1 包含%2",vF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LIST_ITEM_EXIST_TOOLTIP="",vF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",vF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.PARTS_OF_TUPLE_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.PARTS_OF_TUPLE_MESSAGE0="返回元组%1 取第%2 项到尾项",vF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.PARTS_OF_TUPLE2_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",vF.PARTS_OF_TUPLE2_MESSAGE0="返回元组%1 取%2 %3 项到 %4 %5 项",vF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.PARTS_OF_LIST_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",vF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 项到 %4 %5 项",vF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LIST_TO_TUPLE_TOOLTIP="",vF.LIST_TO_TUPLE_MESSAGE0="列表%1 转元组",vF.tuple_create_with_MESSAGE0="定义元组 %1 = %2 ",vF.tuple_create_with_TOOLTIP="只包含一个元素时,需要在元素后面添加逗号",vF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.tuple_order_item_MESSAGE0="元组%1 %2 %3 项",vF.tuple_order_item_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 项",vF.LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_LIST_ORDER_ITEM_MESSAGE0="设列表%1 %2 %3 项为%4",vF.SET_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 项为%4",vF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_TUPLE_ORDER_ITEM_MESSAGE0="设元组%1 %2 %3 项为%4",vF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_CREATE_WITH_TOOLTIP="",vF.DICT_CREATE_WITH_MESSAGE0="定义字典 %1 = %2",vF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_CREATE_WITH_TOOLTIP="",vF.SET_CREATE_WITH_MESSAGE0="定义集合 %1 = %2",vF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_UPDATE_WITH_TOOLTIP="添加参数可为字符串、列表、元组、集合、字典(只添加key),已有元素则不进行操作",vF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",vF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.INTERSECTION_OF_SETS_TOOLTIP="",vF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",vF.MPYTHON_INTERSECTION="交集",vF.MPYTHON_UNION="并集",vF.MPYTHON_DIFFERENCE="差集",vF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SETS_UPDATE_WAYS_TOOLTIP="",vF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新为 与集合 %2 的 %3",vF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SUBSET_SUPERSET_TOOLTIP="",vF.SUBSET_SUPERSET_MESSAGE0="集合 %1 为集合 %2 的 %3",vF.MPYTHON_SUBSET="子集",vF.MPYTHON_SUPERSET="超集",vF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.LEN_OF_SETS_TOOLTIP="",vF.LEN_OF_SETS_MESSAGE0="集合 %1 长度",vF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.GET_SETS_POP_TOOLTIP="",vF.GET_SETS_POP_MESSAGE0="返回随机项并移除之 从集合 %1",vF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.CREATE_EMPTY_SET_TOOLTIP="",vF.CREATE_EMPTY_SET_MESSAGE0="创建空集合 %1",vF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.BIT_INVERSION_TOOLTIP="对数据的每个二进制位取反",vF.BIT_INVERSION_MESSAGE0="二进制取反 %1",vF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="项可为字符串、已创建变量变量、元组",vF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",vF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_KEY_VALUE_TOOLTIP="",vF.DICT_KEY_VALUE_MESSAGE0="字典%1 键%2 的值",vF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.ADD_DICT_KEY_VALUE_TOOLTIP="已有该键则更新该键",vF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加键%2 值%3",vF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_LENGTH_TOOLTIP="",vF.DICT_LENGTH_MESSAGE0="字典%1 长度",vF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_KEY_EXIST_TOOLTIP="",vF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含键%2",vF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",vF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",vF.DICT_KEYS="键",vF.DICT_VALUES="值",vF.mpython_lists_append_MESSAGE0="列表%1 末尾添加项%2",vF.mpython_lists_append_TOOLTIP="",vF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",vF.mpython_lists_extend_TOOLTIP="",vF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_lists_clear_MESSAGE0="列表%1 清空",vF.mpython_lists_clear_TOOLTIP="",vF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重复",vF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",vF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_Timer_value_MESSAGE0="定时器 %1 的计数值",vF.mpython_Timer_value_TOOLTIP="获取并返回计时器当前计数值",vF.mpython_Timer_deinit_MESSAGE0="清除 定时器/事件 %1",vF.mpython_Timer_deinit_TOOLTIP="取消定时器的初始化。停止计时器,并禁用计时器外围设备",vF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",vF.mpython_Interrupt_AB_TOOLTIP="",vF.mpython_Interrupt_AB_MESSAGE0="当按键 %1 被 %2 时",vF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",vF.mpython_Interrupt_pin_TOOLTIP="上升沿触发:由低电平到高电平;下降沿触发:由高电平到低电平",vF.mpython_Interrupt_pin_MESSAGE0="当引脚 %1 电平 %2 时",vF.mpython_Interrupt_pin_IRQ_FALLING="↘ 从高到低",vF.mpython_Interrupt_pin_IRQ_RISING="↗ 从低到高",vF.mpython_IRQ_FALLING="按下",vF.mpython_IRQ_RISING="松开",vF.mpython_PERIODIC="重复执行",vF.mpython_ONE_SHOT="延时执行",vF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",vF.MPYTHON_IS_SHAKED_HELPURL="",vF.MPYTHON_IS_SHAKED_TOOLTIP="",vF.MPYTHON_IS_SHAKED="被摇晃",vF.MPYTHON_IS_THROWN="被抛起",vF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="当掌控板 %1 时",vF.MPYTHON_SHAKE_DETECTOR_HELPURL="",vF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",vF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",vF.MPYTHON_IS_TILTED_HELPURL="",vF.MPYTHON_IS_TILTED_TOOLTIP="",vF.MPYTHON_TILT_DETECTOR_MESSAGE0="当掌控板 %1 时",vF.MPYTHON_TILT_DETECTOR_HELPURL="",vF.MPYTHON_TILT_DETECTOR_TOOLTIP="",vF.MPYTHON_DIRECTION_FORWARD="向前倾斜",vF.MPYTHON_DIRECTION_BACK="向后倾斜",vF.MPYTHON_DIRECTION_RIGHT="向右倾斜",vF.MPYTHON_DIRECTION_LEFT="向左倾斜",vF.MPYTHON_DIRECTION_NONE="平放",vF.MPYTHON_TOUCH_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",vF.MPYTHON_TOUCH_EVENT_HELPURL="",vF.MPYTHON_TOUCH_EVENT_TOOLTIP="",vF.MPYTHON_TOUCH_EVENT_PRESSED="触摸",vF.MPYTHON_TOUCH_EVENT_UNPRESSED="释放",vF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 当 %2 时",vF.MPYTHON_CUSTOM_EVENT_HELPURL="",vF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定义事件与定时器共用 1/2/4/7/8/9/10,不可同时占用一个端口。\n最大同时创建4个事件/定时器,如果存在冲突,请尝试换一个编号。",vF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_music_range_pitch_TOOLTIP="时长为单个频率的时长",vF.mpython_music_range_pitch_MESSAGE0="播放音调 从%1 到%2 步长%3 时长%4 毫秒 引脚 %5",vF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_neopixel_init_TOOLTIP="",vF.mpython_neopixel_init_MESSAGE0="灯带初始化 名称%1 引脚%2 数量%3",vF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",vF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹灯效 灯带%1 数量 %2 亮度 %3 偏移 %4",vF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",vF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度调节, 范围 0 ~ 100",vF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="灯带 %1 设置亮度为 %2",vF.mpython_neopixel_single_TOOLTIP="",vF.mpython_neopixel_single_MESSAGE0="灯带%1 %2号 红%3 绿%4 蓝%5",vF.mpython_neopixel_single_gui_MESSAGE0="灯带 %1 %2号 颜色为 %3",vF.mpython_neopixel_single_gui_TOOLTIP="",vF.mpython_neopixel_show_TOOLTIP="",vF.mpython_neopixel_show_MESSAGE0="灯带%1 设置生效",vF.mpython_neopixel_off_TOOLTIP="",vF.mpython_neopixel_off_MESSAGE0="灯带%1 关闭",vF.mpython_neopixel_all_TOOLTIP="",vF.mpython_neopixel_all_MESSAGE0="灯带%1 全亮 红%2 绿%3 蓝%4",vF.mpython_neopixel_all_gui_TOOLTIP="",vF.mpython_neopixel_all_gui_MESSAGE0="灯带%1 全亮 颜色%2",vF.mpython_image_to_oled_MESSAGE0="打开图片 %1 宽 %2 高 %3",vF.mpython_image_to_oled_TOOLTIP="",vF.mpython_time_localtime_MESSAGE0="本地时间 %1",vF.mpython_time_localtime_TOOLTIP="星期数:返回0~6,周一为0,周日为6\n天数:获取当前日期是一年中的第几天\n建议先连接wifi并获取网络时间",vF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",vF.mpython_WiFi_config_TOOLTIP="netmask-子网掩码;gateway-网关",vF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",vF.mpython_time_ticks_MESSAGE0="运行时间 %1",vF.mpython_time_ticks_TOOLTIP="",vF.MPYTHON_TIMER_DEF_MESSAGE0="定义定时器 %1",vF.MPYTHON_TIMER_INIT_MESSAGE0="启动定时器 %1 %2 周期 %3 毫秒",vF.mpython_Timer_MESSAGE0="设置定时器 %1 %2 周期 %3 毫秒",vF.mpython_Timer_TOOLTIP="创建定时器n,n=1-14。\n最大同时创建4个定时器,如果存在冲突,请尝试换一个编号。\n3用于内部程序,\n5/6用于伺服系统和ADC,\n11用于摇晃检测,\n12用于触摸键检测,\n13用于Radio和DHT11/DHT22定时取值(共用),\n14用于OneNET和倾斜检测(共用),\n其余端口与自定义事件共用。",vF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",vF.mpython_sway_xyz_MESSAGE0="%1 摇晃掌控板",vF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,触摸键 'python' 靠近使用者,开始左右或前后摇晃掌控板",vF.mpython_init_bluetooth_MESSAGE0="初始化 蓝牙名称%1",vF.mpython_init_bluetooth_TOOLTIP="初始化 蓝牙名称",vF.mpython_OnOff_bluetooth_MESSAGE0="蓝牙设备 %1广播",vF.mpython_OnOff_bluetooth_TOOLTIP="蓝牙设备 开启或关闭广播",vF.mpython_HID_keyboard_bluetooth_MESSAGE0="键盘 按键%1",vF.mpython_HID_keyboard_bluetooth_TOOLTIP="HID键盘设备",vF.mpython_HID_consumer_bluetooth_MESSAGE0="消费类设备%1 状态%2",vF.mpython_HID_consumer_bluetooth_TOOLTIP="模拟HID消费类设备的控制器,如蓝牙遥控器",vF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="键盘 释放按键",vF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="键盘设备",vF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠标%1",vF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠标设备",vF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠标 释放按键",vF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠标设备",vF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="鼠标 指针移动 x%2 y%1",vF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标指针坐标x,y轴的相对位移,范围-1023 ~ 1023",vF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="键盘 按键%1 组合按键%2",vF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",vF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="键盘 组合按键%1",vF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",vF.mpython_HID_keyboard_part_bluetooth_HELPURL="",vF.mpython_init_wifi_MESSAGE0="连接 Wi-Fi 名称 %1 密码 %2",vF.mpython_init_wifi_TOOLTIP="让掌控板接入Wi-Fi环境",vF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 设置静态IP %1 IP 地址 %2 子网掩码 %3 默认网关 %4 DNS %5",vF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",vF.MPYTHON_WIFI_IFCONFIG_HELPURL="",vF.mpython_dis_WiFi_MESSAGE0="断开 Wi-Fi 连接",vF.mpython_dis_WiFi_TOOLTIP="",vF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",vF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密码可以为空,或者8位以上的字母或数字。\nAP模式仅用于掌控板之间的相互通信,不可以作为热点,令其它设备上网。",vF.MPYTHON_ENABLE_APWIFI_MESSAGE0="开启 AP模式 名称 %1 密码 %2 信道 %3",vF.mpython_disable_APWiFi_MESSAGE0="关闭 AP模式",vF.mpython_disable_APWiFi_TOOLTIP="",vF.mpython_ntptime_settime_MESSAGE0="同步网络时间 时区 %1 授时服务器 %2",vF.mpython_ntptime_settime_TOOLTIP="NTP时间同步是一种时间同步网络技术",vF.mpython_wifi_get_date_MESSAGE0="获取当前日期",vF.mpython_wifi_get_date_TOOLTIP="获取当前日期字符串 示例:2020年12月12日",vF.mpython_wifi_get_time_MESSAGE0="获取当前时间",vF.mpython_wifi_get_time_TOOLTIP="获取当前时间字符串",vF.mpython_ntptime_timezone_E1="东1区",vF.mpython_ntptime_timezone_E2="东2区",vF.mpython_ntptime_timezone_E3="东3区",vF.mpython_ntptime_timezone_E4="东4区",vF.mpython_ntptime_timezone_E5="东5区",vF.mpython_ntptime_timezone_E6="东6区",vF.mpython_ntptime_timezone_E7="东7区",vF.mpython_ntptime_timezone_E8="东8区",vF.mpython_ntptime_timezone_E9="东9区",vF.mpython_ntptime_timezone_E10="东10区",vF.mpython_ntptime_timezone_E11="东11区",vF.mpython_ntptime_timezone_E12="东12区",vF.mpython_ntptime_timezone_0="中时区",vF.mpython_ntptime_timezone_W1="西1区",vF.mpython_ntptime_timezone_W2="西2区",vF.mpython_ntptime_timezone_W3="西3区",vF.mpython_ntptime_timezone_W4="西4区",vF.mpython_ntptime_timezone_W5="西5区",vF.mpython_ntptime_timezone_W6="西6区",vF.mpython_ntptime_timezone_W7="西7区",vF.mpython_ntptime_timezone_W8="西8区",vF.mpython_ntptime_timezone_W9="西9区",vF.mpython_ntptime_timezone_W10="西10区",vF.mpython_ntptime_timezone_W11="西11区",vF.mpython_ntptime_timezone_W12="西12区",vF.FILE_TO_LIST_HELPURL="",vF.FILE_TO_LIST_TOOLTIP="读出指定路径的文本文件内容(仅限utf-8格式),并转为列表形式,以分隔符分隔。",vF.FILE_TO_LIST_MESSAGE0="读取文本文件 %1 为列表 ,以 %2 分隔",vF.FILE_TO_BIN_HELPURL="",vF.FILE_TO_BIN_TOOLTIP="以二进制格式读出指定路径的文件内容。";vF.FILE_TO_BIN_MESSAGE0="读取文件 %1 的二进制内容",vF.MPYTHON_INIT_FILE_HELPURL="",vF.MPYTHON_INIT_FILE_TOOLTIP="初始化一个文本文件,如果文件不存在则创建文件,如果文件存在则清空内容。",vF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",vF.MPYTHON_WRITE_FILE_HELPURL="",vF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路径的文本文件写入内容,如果文件不存在则创建文件。",vF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 写入内容 %2 ,以 %3 分隔",vF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",vF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n须确保 SPI 总线的引脚与 micro SD 卡物理连接正确,并预先使用 FAT 或 FAT32 文件系统格式化 micro SD 卡。",vF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",vF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",vF.MPYTHON_SDCARD_MOUNT_TOOLTIP="挂载 SD 卡到指定路径。",vF.MPYTHON_SDCARD_MOUNT_MESSAGE0="挂载 SD 卡到路径 %1",vF.MPYTHON_ENTER="回车",vF.MPYTHON_COMMA="逗号",vF.MPYTHON_SEMICOLON="分号",vF.MPYTHON_SPACE="空格",vF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模拟时钟 x %1 y %2 半径 %3",vF.mpython_wifi_clock_TOOLTIP="需连接 Wi-Fi 使用",vF.mpython_def_clock_MESSAGE0="初始化时钟%1 x %2 y %3 半径 %4",vF.mpython_def_clock_TOOLTIP="",vF.mpython_settime_clock_MESSAGE0="时钟%1 读取时间",vF.mpython_settime_clock_TOOLTIP="",vF.mpython_draw_clear_clock_MESSAGE0="%1 时钟 %2",vF.mpython_draw_clear_clock_TOOLTIP="",vF.mpython_tinywebio_start_MESSAGE0="启动 TinyWebIO 服务 %1",vF.mpython_tinywebio_start_TOOLTIP="启动该服务需连接Wi-Fi,TinyWebIO服务为App Inventor应用提供远程控制接口的掌控板工具包",vF.mpython_tinywebio_client_setup_HELPURL="",vF.mpython_tinywebio_client_setup_TOOLTIP="向服务器发布的数据项(逗号分隔)\nbuttona/b 按键状态\ntouchpadp/y/t/h/o/n 触摸按键值\nlight 光线值\nsound 声音值\naccelerometer 三轴加速度值\nid 掌控板标识\ntime 时间戳\npind 数字IO引脚\npina 模拟IO引脚\n----------\n从服务器读取的数据项(逗号分隔)\nrgb0/1/2 RGB灯珠\noled OLED显示屏\nmusic 音乐\nservo 舵机\npind 数字IO引脚\npina 模拟IO引脚",vF.mpython_tinywebio_client_setup_MESSAGE0="设置 TinyWebIO 客户端参数 %1 TinyWebDB服务器地址 %2 向服务器发布的数据项 %3 从服务器读取的数据项 %4 存取服务器的时间间隔(ms) %5",vF.mpython_tinywebio_client_action_HELPURL="",vF.mpython_tinywebio_client_action_TOOLTIP="",vF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客户端",vF.mpython_tinywebio_client_action_start="启动",vF.mpython_tinywebio_client_action_stop="停止",vF.MPYTHON_CUSTOM_CODE_HELPURL="",vF.MPYTHON_CUSTOM_CODE_TOOLTIP="",vF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",vF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",vF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",vF.mpython_servo_angle0_MESSAGE0="设置舵机 %1 角度为 %2",vF.mpython_servo_angle_MESSAGE0="设置舵机 %1 角度为 %2 脉宽从 %3 到 %4 最大角度 %5",vF.mpython_servo_angle_TOOLTIP="电源线Vcc(红色)连接拓展板电源口V,地线GND(棕色)连接拓展板地线口G,控制信号线(橙色)连接所选的拓展板引脚",vF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",vF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",vF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 连接拓展板的电源口 V ,- 连接拓展板的地线口 G ,out 连接拓展板的引脚 0(即选引脚)",vF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",vF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",vF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",vF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",vF.mpython_music_note_TOOLTIP="音符,如C4:4",vF.mpython_return_list_MESSAGE0="定义列表 %1 = %2",vF.mpython_return_list_TOOLTIP="",vF.mpython_display_Show_MESSAGE0="OLED 显示生效",vF.mpython_display_Show_TOOLTIP="",vF.mpython_display_DispChar_MESSAGE0="显示文本 x %1 y %2 内容 %3 模式 %4 %5",vF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",vF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",vF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行显示 %2 模式 %3 %4",vF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",vF.mpython_line1="1",vF.mpython_line2="2",vF.mpython_line3="3",vF.mpython_line4="4",vF.mpython_line5="5",vF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",vF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",vF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="",vF.mpython_display_fill_0="清空",vF.mpython_display_fill_1="全亮",vF.mpython_display_invert_0="黑底",vF.mpython_display_invert_1="白底",vF.mpython_display_show="生效",vF.mpython_display_fill_MESSAGE0="OLED 显示 %1",vF.mpython_display_fill_TOOLTIP="",vF.mpython_display_pixel_0="暗",vF.mpython_display_pixel_1="亮",vF.mpython_display_pixel_MESSAGE0="描点 x %1 y %2 为 %3",vF.mpython_display_pixel_TOOLTIP="",vF.mpython_display_hline_0="擦除",vF.mpython_display_hline_1="绘制",vF.mpython_display_hline_MESSAGE0="%1 水平线%2 x%3 y%4 长度%5",vF.mpython_display_hline_TOOLTIP="",vF.mpython_ProgressBar_MESSAGE0="进度条%1 x%2 y%3 宽%4 高%5 进度%6",vF.mpython_ProgressBar_TOOLTIP="",vF.mpython_stripBar_MESSAGE0="柱状条%1 x%2 y%3 宽%4 高%5 进度%6",vF.mpython_stripBar_TOOLTIP="",vF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",vF.MPYTHON_QR_CODE_TOOLTIP="",vF.MPYTHON_QR_CODE_MESSAGE0="在坐标 x %1 y %2 绘制二维码 %3 尺寸 %4",vF.MPYTHON_DISPLAY_MODE_0="擦除",vF.MPYTHON_DISPLAY_MODE_1="绘制",vF.MPYTHON_DISPLAY_HOLLOW="空心",vF.MPYTHON_DISPLAY_SOLID="实心",vF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 线 %3 x %4 y %5 长度 %6",vF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",vF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 宽 %6 高 %7",vF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",vF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圆 %3 x %4 y %5 半径 %6",vF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",vF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",vF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",vF.MPYTHON_RGB_0="0 #",vF.MPYTHON_RGB_1="1 #",vF.MPYTHON_RGB_2="2 #",vF.MPYTHON_RGB_ALL="所有",vF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="设置 %1 RGB 灯颜色为 %2",vF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="设置 %1 RGB 灯颜色为 R %2 G %3 B %4",vF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.MPYTHON_OFF_RGB_LIST_MESSAGE0="关闭 %1 RGB 灯",vF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",vF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音乐 %1 引脚 %2",vF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放内置的音乐",vF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音乐 %1 直到完成 , 引脚 %2",vF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放内置的音乐",vF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖国",vF.MPYTHON_MUSIC_DONG_FANG_HONG="东方红",vF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩云追月",vF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走进新时代",vF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",vF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小调",vF.mpython_display_vline_MESSAGE0="%1 垂直线%2 x%3 y%4 长度%5",vF.mpython_display_vline_TOOLTIP="",vF.mpython_display_line_MESSAGE0="%1 线%2 x1 %3 y1 %4 到 x2 %5 y2 %6",vF.mpython_display_line_TOOLTIP="",vF.mpython_display_rect_MESSAGE0="%1 边框%2 x %3 y %4 宽 %5 高 %6",vF.mpython_display_rect_TOOLTIP="",vF.mpython_display_RoundRect_MESSAGE0="%1 弧角边框%2 x %3 y %4 宽 %5 高 %6 半径%7",vF.mpython_display_RoundRect_TOOLTIP="",vF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 宽 %5 高 %6 ",vF.mpython_display_fill_rect_TOOLTIP="",vF.mpython_display_fill_circle_MESSAGE0="%1 实心圆%2 x %3 y %4 半径 %5",vF.mpython_display_fill_circle_TOOLTIP="",vF.mpython_display_circle_MESSAGE0="%1 空心圆%2 x %3 y %4 半径 %5",vF.mpython_display_circle_TOOLTIP="",vF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",vF.mpython_display_triangle_TOOLTIP="",vF.mpython_display_fill_triangle_MESSAGE0="%1 实心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",vF.mpython_display_fill_triangle_TOOLTIP="",vF.mpython_display_Bitmap_MESSAGE0="%1 图像 x%2 y%3 宽%4 高%5 16进制图像数据 %6",vF.mpython_display_Bitmap_TOOLTIP="将16进制图像数据显示在OLED屏的指定位置",vF.MPYTHON_GET_PBM_DATA_MESSAGE0="获取内置图像 %1 模式%2",vF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp 格式的单色图像文件,获取指定路径的图像文件数据,返回一个元组对象。",vF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",vF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="获取自定义图像 %1 模式%2",vF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐标 x %1 y %2 显示图像 %3",vF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的单色图像文件",vF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",vF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐标 x %1 y %2 显示图像 %5 宽 %3 高 %4",vF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",vF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",vF.mpython_horizontal="水平",vF.mpython_vertical="垂直",vF.mpython_display_FrameBuffer_MESSAGE0="构建帧 列表 %1 长 %2 宽 %3 扫描模式 %4",vF.mpython_display_FrameBuffer_TOOLTIP="用图像取模后数据的列表 ,创建128x64的帧缓存区,以储存图片帧",vF.MPYTHON_FONT_DIGIFACE_11="仿数码管 11像素",vF.MPYTHON_FONT_DIGIFACE_16="仿数码管 16像素",vF.MPYTHON_FONT_DIGIFACE_21="仿数码管 21像素",vF.MPYTHON_FONT_DIGIFACE_30="仿数码管 30像素",vF.MPYTHON_FONT_DIGIFACE_44="仿数码管 44像素",vF.MPYTHON_FONT_DIGIFACE_IT_30="仿数码管 斜体 30像素",vF.MPYTHON_FONT_DIGIFACE_IT_42="仿数码管 斜体 42像素",vF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",vF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",vF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",vF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑体 12像素",vF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑体 16像素",vF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑体 21像素",vF.MPYTHON_FONT_WRAP="自动换行",vF.MPYTHON_FONT_NO_WRAP="不换行",vF.MPYTHON_FACE_1="心形",vF.MPYTHON_FACE_2="心形(小)",vF.MPYTHON_FACE_3="高兴",vF.MPYTHON_FACE_4="笑脸",vF.MPYTHON_FACE_5="伤心",vF.MPYTHON_FACE_6="困惑",vF.MPYTHON_FACE_7="生气",vF.MPYTHON_FACE_8="睡着",vF.MPYTHON_FACE_9="惊讶",vF.MPYTHON_FACE_10="愚蠢",vF.MPYTHON_FACE_11="极妙",vF.MPYTHON_FACE_12="无聊",vF.MPYTHON_FACE_ROCK="石头",vF.MPYTHON_FACE_PAPER="布",vF.MPYTHON_FACE_SCISSORS="剪刀",vF.MPYTHON_FACE_ROCK_S="石头(小)",vF.MPYTHON_FACE_PAPER_S="布(小)",vF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",vF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐标 x %1 y %2 显示 %3 以 %4 字体 %5",vF.MPYTHON_DISPLAY_FONT_TOOLTIP="",vF.MPYTHON_DISPLAY_FONT_HELPURL="",vF.mpython_front="正向",vF.mpython_reverse="反转",vF.mpython_display_blit_MESSAGE0="显示帧 坐标x %1 y %2",vF.mpython_display_blit_TOOLTIP="",vF.mpython_front_reverse_MESSAGE0="像素点bit %1",vF.mpython_front_reverse_TOOLTIP="用于显示之前",vF.mpython_images_append_MESSAGE0="动图显示 帧数%1 周期%2 长%3 宽%4",vF.mpython_images_append_TOOLTIP="上传至掌控板的pbm图片需命名为IMAGE.数字,后缀为pbm。如:IMAGE.1.pbm。帧数为7则数字为1至7",vF.mpython_button_is_pressed_MESSAGE0="按键%1 被按下",vF.mpython_button_is_pressed_TOOLTIP="",vF.mpython_button_both_pressed_MESSAGE0="AB按键都按下",vF.mpython_button_both_pressed_TOOLTIP="",vF.mpython_touchPad_value_MESSAGE0="按键%1 被触摸",vF.mpython_touchPad_value_TOOLTIP="",vF.mpython_touchPad_value_num_MESSAGE0="按键%1 触摸值",vF.mpython_touchPad_value_num_TOOLTIP="",vF.mpython_read_digital_MESSAGE0="读取引脚%1 数字值",vF.mpython_read_digital_TOOLTIP="",vF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水温度传感器 引脚 %1",vF.mpython_read_DS18B20_TOOLTIP="",vF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",vF.mpython_set_digital_MESSAGE0="设置引脚 %2 数字值为 %1",vF.mpython_set_digital_TOOLTIP="",vF.mpython_read_analog_MESSAGE0="读取引脚 %1 模拟值",vF.mpython_read_analog_TOOLTIP="",vF.mpython_set_analog_MESSAGE0="设置引脚 %2 模拟值(PWM)为 %1",vF.mpython_set_analog_TOOLTIP="模拟输出是通过IO引脚输出脉宽调制信号,输出指定的电压值,简称PWM。",vF.mpython_set_RGB_MESSAGE0="设置 %1 号 RGB 灯颜色为 R %2 G %3 B %4",vF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_set_RGB_color_MESSAGE0="设置 %1 号 RGB 灯颜色为 %2",vF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_set_RGB_all_MESSAGE0="设置所有 RGB 灯颜色为 R %1 G %2 B %3",vF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_set_RGB_color_all_MESSAGE0="设置所有 RGB 灯颜色为 %1",vF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",vF.mpython_fresh_RGB_MESSAGE0="RGB 灯设置生效",vF.mpython_fresh_RGB_TOOLTIP="",vF.mpython_off_RGB_MESSAGE0="关闭 RGB 灯",vF.mpython_off_RGB_TOOLTIP="",vF.mpython_buzz_state_MESSAGE0="停止播放音乐",vF.mpython_buzz_state_TOOLTIP="",vF.mpython_buzz_freq_MESSAGE0="播放连续音调 %1 引脚 %2",vF.mpython_buzz_freq_TOOLTIP="",vF.mpython_buzz_tone_MESSAGE0="播放音调 %1",vF.mpython_buzz_tone_TOOLTIP="",vF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",vF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默认是掌控板的P6引脚",vF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",vF.MPYTHON_MUSIC_TONE_HELPURL="",vF.MPYTHON_MUSIC_TONE_TOOLTIP="",vF.MPYTHON_MUSIC_TONE_MESSAGE0="音调 %1",vF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",vF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",vF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 节拍 %2",vF.MPYTHON_MUSIC_TICK_HELPURL="",vF.MPYTHON_MUSIC_TICK_TOOLTIP="",vF.MPYTHON_MUSIC_TICK_MESSAGE0="节拍 %1",vF.MPYTHON_4_LINES_HELPURL="",vF.MPYTHON_4_LINES_TOOLTIP="",vF.MPYTHON_4_LINES_MESSAGE0="%1",vF.NUMBER_1="1",vF.NUMBER_1_2="1/2",vF.NUMBER_1_4="1/4",vF.NUMBER_2="2",vF.NUMBER_4="4",vF.mpython_read_sound_MESSAGE0="声音值",vF.mpython_read_sound_TOOLTIP="",vF.mpython_read_light_MESSAGE0="光线值",vF.mpython_read_light_TOOLTIP="",vF.mpython_accelerometer_get_MESSAGE0="%1 轴加速度",vF.mpython_accelerometer_get_TOOLTIP="",vF.mpython_accelerometer_get_z_MESSAGE0="z轴加速度",vF.mpython_accelerometer_get_z_TOOLTIP="",vF.mpython_accelerometer_get_y_MESSAGE0="y轴加速度",vF.mpython_accelerometer_get_y_TOOLTIP="",vF.mpython_accelerometer_get_x_MESSAGE0="x轴加速度",vF.mpython_accelerometer_get_x_TOOLTIP="",vF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",vF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",vF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",vF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",vF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",vF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",vF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",vF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="设置加速度范围,默认为 ±2g。",vF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="设置加速度范围为 %1",vF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="设置加速度分辨率,默认为 10bits。",vF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="设置加速度分辨率为 %1",vF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校准加速度计的3个轴(x,y,z)的加速值偏差。\n一般情况下无需校准,只有遇到加速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1g。\n注意:校准数据断电后不会保存。",vF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校准加速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4",vF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 轴 磁力",vF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南针方向",vF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校准指南针",vF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除当前环境磁场",vF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="仅适用于掌控板2.0及以上版本",vF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁场强度",vF.MPYTHON_TILT_ANGLE_HELPURL="",vF.MPYTHON_TILT_ANGLE_TOOLTIP="",vF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 轴倾斜角",vF.mpython_random_choice_MESSAGE0="返回随机项%1",vF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的随机项",vF.MACHINE_TIME_PULSE_US_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",vF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 电平持续时间(微秒)",vF.MACHINE_TIME_PULSE_US_TOOLTIP="",vF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",vF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",vF.MPYTHON_I2C_INIT_TOOLTIP="",vF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",vF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",vF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",vF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",vF.MPYTHON_I2C_SCAN_MESSAGE0="%1 扫描地址",vF.MPYTHON_I2C_SCAN_TOOLTIP="返回一个数组对象",vF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",vF.MPYTHON_I2C_DEINIT_MESSAGE0="关闭%1总线",vF.MPYTHON_I2C_DEINIT_TOOLTIP="",vF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",vF.MPYTHON_I2C_WRITETO_MESSAGE0="从%1 %5 地址%2 写入%3 停止位%4",vF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n写入:Number、String",vF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",vF.MPYTHON_I2C_READFROM_MESSAGE0="从%1 %5 地址%2 读取 字节数%3 停止位%4",vF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",vF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",vF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="从%1 %6 地址%2 读入缓存区%3 字节数%4 停止位%5",vF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",vF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",vF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 写入%3",vF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n写入:Number、String",vF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",vF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 读取 字节数%3",vF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",vF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",vF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="从%1 %6 地址%2 寄存器%5 读入缓存区%3 字节数%4",vF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",vF.mpython_print_MESSAGE0="调试输出 %1",vF.mpython_print_TOOLTIP="通过串口调试,输出字符串",vF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",vF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印数据到图表",vF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印数据到图表",vF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="数据",vF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",vF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="数据内容",vF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",vF.MPYTHON_INIT_CHART_TOOLTIP="",vF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化图表列标题",vF.MPYTHON_INIT_CHART_INPUT_WITH="初始化图表列标题",vF.MPYTHON_INIT_CHART_ITEM_TITLE="标题",vF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",vF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="数据列标题",vF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",vF.MPYTHON_MS="毫秒",vF.MPYTHON_US="微秒",vF.MPYTHON_TIME_DIFFERENCE_HELPURL="",vF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回运行时间差 开始时间 %1 结束时间 %2",vF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",vF.MPYTHON_TYPE_HELPURL="",vF.MPYTHON_TYPE_MESSAGE0="值 %1 的类型",vF.MPYTHON_TYPE_TOOLTIP="",vF.MPYTHON_TYPE_IS_HELPURL="",vF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的类型为 %2",vF.MPYTHON_TYPE_IS_TOOLTIP="",vF.MPYTHON_EVAL_HELPURL="",vF.MPYTHON_EVAL_MESSAGE0="计算表达式 %1 的结果",vF.MPYTHON_EVAL_TOOLTIP="计算字符串表达式,并返回结果",vF.MPYTHON_RETURN_HELPURL="",vF.MPYTHON_RETURN_MESSAGE0="返回 %1",vF.MPYTHON_RETURN_TOOLTIP="",vF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",vF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C数字光线",vF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",vF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",vF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",vF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元组形式返回所有wifi配置信息",vF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",vF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已连接到 WI-FI",vF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",vF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",vF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi连接 语音助手 Wi-Fi 名称 %1 密码 %2",vF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通过串口把WIF传给语音助手",vF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",vF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在文件系统将文件上传到板。",vF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="读取 语音助手 文本文件 %1",vF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",vF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="数码管显示 %1",vF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",vF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",vF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空数码管",vF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",vF.MPYTHON_MACHINE_RESET_HELPURL="",vF.MPYTHON_MACHINE_RESET_MESSAGE0="复位",vF.MPYTHON_MACHINE_RESET_TOOLTIP="与按下外部 RESET按键效果一样",vF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",vF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 颜色 %1",vF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 颜色",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",vF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",vF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 颜色 %1",vF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 颜色",vF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",vF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C电压传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁场传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C电导率传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C气压传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",vF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光电门传感器 拨码 %1",vF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",vF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",vF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 电机速度 %1",vF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",vF.MPYTHON_M1M2_LED_OFF_HELPURL="",vF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 关灯 %1",vF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",vF.MPYTHON_M1M2_LED_ON_HELPURL="",vF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 设灯 %1 亮度 %2",vF.MPYTHON_M1M2_LED_ON_TOOLTIP="",vF.MPYTHON_MUSIC_PIN_P6="默认",vF.MPYTHON_MUSIC_PIN_P6_HELPURL="",vF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",vF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",vF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",vF.MPYTHON_SLEEP_TOOLTIP="在进行下一个命令前,等待设定的时间。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符号ms(millisecond)\n微秒,符号μs(microsecond)",vF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="运行时间",vF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="获取开机或复位后的运行时间(毫秒)。",vF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",vF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="温度",vF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="获取 micro:bit 的温度(℃)。",vF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",vF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音乐 %1 等待 %2 循环 %3 引脚 %4",vF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放内置的音乐,可以设置等待模式和循环播放。",vF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",vF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音调 %1 %2 延时 %3 毫秒 引脚 %4",vF.MICROBIT_MUSIC_PITCH_TOOLTIP="在设定的时间长度里播放音调。",vF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",vF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循环 %4",vF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符为字符串形式。默认是掌控板的P6引脚",vF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",vF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",vF.MICROBIT_MUSIC_RESET_MESSAGE0="恢复音乐设置",vF.MICROBIT_MUSIC_RESET_TOOLTIP="将所有音乐设置 (当前节拍, 音阶和周期) 恢复成默认值。",vF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",vF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音乐 引脚 %1",vF.MICROBIT_MUSIC_STOP_TOOLTIP="默认是掌控板的P6引脚",vF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="设置每一拍等同 %1 分音符,每分钟节拍数 %2",vF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="设置回放速度 (节拍)。一定数量的滴答代表一拍,每拍每分钟播放次数 (BPM 每分钟节拍)。",vF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",vF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="设置播放速度为 %1 倍",vF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符为1拍,每分钟节拍数默认120,为1倍的播放速度",vF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",vF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="获取当前节拍",vF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="获取当前节拍: 每节拍滴答数, 每分钟节拍 (BPM)。",vF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",vF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引脚 %1 控制, neopixel 彩灯数 %2 ",vF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩灯。需要设定 neopixels 彩灯数量和控制脚。",vF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",vF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩灯 %1",vF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩灯",vF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",vF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="显示 neopixels 彩灯 %1",vF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="显示 / 更新全部 neopixels 彩灯。",vF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",vF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",vF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩灯的红、绿、蓝 (RGB) 颜色",vF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",vF.MICROBIT_PIN_TOUCHED_MESSAGE0="引脚 %1 被触摸",vF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引脚被触摸将返回 “真”。",vF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",vF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触摸",vF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引脚曾经被触摸将返回 “真”。",vF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",vF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引脚 %1 被触摸的次数",vF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被触摸的次数,然后清零。",vF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",vF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="读取引脚 %1 模拟电压",vF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="读取引脚的模拟输入电压。",vF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",vF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="设置模拟量 %1 到引脚 %2",vF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="写入模拟参数到指定引脚上。",vF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",vF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="读取引脚 %1 的数字输入",vF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="读取引脚的数字输入 (真 或 假)。",vF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",vF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="设置数字输出 %1 到引脚 %2",vF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="写入数字量 (真 或 假) 到指定引脚。",vF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",vF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",vF.MICROBIT_RADIO_ON_MESSAGE0="打开无线广播",vF.MICROBIT_RADIO_ON_TOOLTIP="打开无线广播。需要明确声明调用,因为它会消耗更多功率和占用更多内存。",vF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",vF.MICROBIT_RADIO_OFF_MESSAGE0="关闭无线广播",vF.MICROBIT_RADIO_OFF_TOOLTIP="关闭无线广播,节省功耗和内存。",vF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置无线广播消息长度 %1 %2 最大队列数量 %3 %4 信道 %5 %6 广播功率 %7 %8 地址 %9 %10 组 %11 %12 数据速率 %13",vF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置无线广播。\n 长度指单个消息的最大长度; \n 队列指可以存放在消息队列中消息的数量; \n 信道指无线广播使用的无线频率; \n 功率指发射广播信号的强度; \n 地址:32位值; \n 组:8位值(0-255); \n 数据速率指数据传输的速度。",vF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",vF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",vF.MICROBIT_RADIO_RESET_MESSAGE0="复位无线广播",vF.MICROBIT_RADIO_RESET_TOOLTIP="恢复无线广播到默认设置。",vF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="发送消息 %1",vF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="广播文字消息。",vF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",vF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="发送字节 %1",vF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="广播字节。",vF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",vF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",vF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",vF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",vF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字节",vF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字节。",vF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",vF.MICROBIT_SPEECH_SAY_MESSAGE0="说 %1",vF.MICROBIT_SPEECH_SAY_TOOLTIP="尝试说英语",vF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",vF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="读 %1",vF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精确发音。",vF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",vF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",vF.MICROBIT_SPEECH_SING_TOOLTIP="象机器人一样唱歌。",vF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",vF.MICROBIT_GESTURE_SHAKE="摇晃",vF.MICROBIT_GESTURE_UP="上",vF.MICROBIT_GESTURE_DOWN="下",vF.MICROBIT_GESTURE_LEFT="左",vF.MICROBIT_GESTURE_RIGHT="右",vF.MICROBIT_GESTURE_FACE_UP="朝上",vF.MICROBIT_GESTURE_FACE_DOWN="朝下",vF.MICROBIT_GESTURE_FREEFAIL="自由下落",vF.MICROBIT_IMAGE_HEART="心形",vF.MICROBIT_IMAGE_HEART_SMALL="心(小)",vF.MICROBIT_IMAGE_HAPPY="高兴",vF.MICROBIT_IMAGE_SMILE="笑脸",vF.MICROBIT_IMAGE_SAD="伤心",vF.MICROBIT_IMAGE_CONFUSED="困惑",vF.MICROBIT_IMAGE_ANGRY="生气",vF.MICROBIT_IMAGE_ASLEEP="睡着",vF.MICROBIT_IMAGE_SUPRISED="惊讶",vF.MICROBIT_IMAGE_SILLY="愚蠢",vF.MICROBIT_IMAGE_FABULOUS="极妙",vF.MICROBIT_IMAGE_MEH="无聊",vF.MICROBIT_IMAGE_YES="是",vF.MICROBIT_IMAGE_NO="否",vF.MICROBIT_IMAGE_CLOCK12="12点",vF.MICROBIT_IMAGE_CLOCK11="11点",vF.MICROBIT_IMAGE_CLOCK10="10点",vF.MICROBIT_IMAGE_CLOCK9="9点",vF.MICROBIT_IMAGE_CLOCK8="8点",vF.MICROBIT_IMAGE_CLOCK7="7点",vF.MICROBIT_IMAGE_CLOCK6="6点",vF.MICROBIT_IMAGE_CLOCK5="5点",vF.MICROBIT_IMAGE_CLOCK4="4点",vF.MICROBIT_IMAGE_CLOCK3="3点",vF.MICROBIT_IMAGE_CLOCK2="2点",vF.MICROBIT_IMAGE_CLOCK1="1点",vF.MICROBIT_IMAGE_ARROW_N="箭头-北",vF.MICROBIT_IMAGE_ARROW_NE="箭头-东北",vF.MICROBIT_IMAGE_ARROW_E="箭头-东",vF.MICROBIT_IMAGE_ARROW_SE="箭头-东南",vF.MICROBIT_IMAGE_ARROW_S="箭头-南",vF.MICROBIT_IMAGE_ARROW_SW="箭头-西南",vF.MICROBIT_IMAGE_ARROW_W="箭头-西",vF.MICROBIT_IMAGE_ARROW_NW="箭头-西北",vF.MICROBIT_IMAGE_TRIANGLE="三角形",vF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",vF.MICROBIT_IMAGE_CHESSBOARD="棋盘",vF.MICROBIT_IMAGE_DIAMOND="菱形",vF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",vF.MICROBIT_IMAGE_SQUARE="方形",vF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",vF.MICROBIT_IMAGE_RABBIT="兔子",vF.MICROBIT_IMAGE_COW="牛",vF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",vF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",vF.MICROBIT_IMAGE_MUSIC_QUAVERS="颤音",vF.MICROBIT_IMAGE_PITCHFORK="叉子",vF.MICROBIT_IMAGE_XMAS="圣诞树",vF.MICROBIT_IMAGE_PACMAN="吃豆人",vF.MICROBIT_IMAGE_TARGET="目标",vF.MICROBIT_IMAGE_TSHIRT="T恤衫",vF.MICROBIT_IMAGE_ROLLERSKATE="轮滑",vF.MICROBIT_IMAGE_DUCK="鸭子",vF.MICROBIT_IMAGE_HOUSE="房子",vF.MICROBIT_IMAGE_TORTOISE="乌龟",vF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",vF.MICROBIT_IMAGE_STICKFIGURE="线条画",vF.MICROBIT_IMAGE_GHOST="幽灵",vF.MICROBIT_IMAGE_SWORD="宝剑",vF.MICROBIT_IMAGE_GIRAFFE="长颈鹿",vF.MICROBIT_IMAGE_SKULL="头",vF.MICROBIT_IMAGE_UMBRELLA="伞",vF.MICROBIT_IMAGE_SNAKE="蛇",vF.MICROBIT_IMAGE_ALL_CLOCKS="所有时钟",vF.MICROBIT_IMAGE_ALL_ARROWS="所有箭头",vF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",vF.MICROBIT_PIN_SET_SERVO_TOOLTIP="设置舵机角度,范围为 0 ~ 180度",vF.MICROBIT_PIN_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",vF.MICROBIT_PIN_SET_MODE_HELPURL="",vF.MICROBIT_PIN_SET_MODE_TOOLTIP="引脚模式有三种:悬空、上拉、下拉",vF.MICROBIT_PIN_SET_MODE_MESSAGE0="设置引脚 %1 模式为 %2",vF.MICROBIT_PIN_MODE_NO="悬空",vF.MICROBIT_PIN_MODE_UP="上拉",vF.MICROBIT_PIN_MODE_DOWN="下拉",vF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",vF.MICROBIT_UART_INIT_TOOLTIP="",vF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",vF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到数据",vF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_READ_MSG_TOOLTIP="",vF.MICROBIT_UART_READ_MSG_MESSAGE0="读取串口 %1 字节",vF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",vF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="读取串口 %1 字节存至 %2",vF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",vF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",vF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口发送数据 %1",vF.MICROBIT_ALL_BYTES="全部",vF.MICROBIT_ALINE_BYTES="一行",vF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引脚 %1 被触发",vF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按键按下返回 “真”,否则返回 “假”。",vF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",vF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触发",vF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按键曾经按下过返回 “真”,否则返回 “假”。",vF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",vF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引脚 %1 被触发过的次数",vF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按键按下的总次数,然后清除计数。",vF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",vF.LABPLUS_LED_MESSAGE0="设置LED灯 引脚 %2 输出 %1",vF.LABPLUS_LED_TOOLTIP="",vF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",vF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="红外探测 引脚 %1 被触发",vF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",vF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="热敏传感器 引脚 %1 的值",vF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",vF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",vF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C数字光线传感器的值(lux)",vF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",vF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",vF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位传感器 引脚 %1 的值",vF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",vF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",vF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="烟雾探测器 引脚 %1 被触发",vF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",vF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_BUZZER_FOR_TOOLTIP="",vF.LABPLUS_BUZZER_FOR_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0 %2 毫秒",vF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_BUZZER_ON_TOOLTIP="",vF.LABPLUS_BUZZER_ON_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0",vF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_BUZZER_OFF_TOOLTIP="",vF.LABPLUS_BUZZER_OFF_MESSAGE0="关闭蜂鸣器 引脚0",vF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C温湿度传感器的 %1 值",vF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",vF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",vF.LABPLUS_TM_HM_SENSOR_TM="温度",vF.LABPLUS_TM_HM_SENSOR_HM="湿度",vF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",vF.LABPLUS_SET_SERVO_TOOLTIP="",vF.LABPLUS_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",vF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指纹传感器 引脚 %1 验证通过",vF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",vF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",vF.LABPLUS_SET_MOTOR_HELPURL="",vF.LABPLUS_SET_MOTOR_TOOLTIP="",vF.LABPLUS_SET_MOTOR_MESSAGE0="设置电机 %1 方向 %2 速度 %3",vF.LABPLUS_SET_MOTOR_CLOCKWISE="正转",vF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反转",vF.LABPLUS_STOP_MOTOR_HELPURL="",vF.LABPLUS_STOP_MOTOR_TOOLTIP="",vF.LABPLUS_STOP_MOTOR_MESSAGE0="停止电机",vF.LABPLUS_GET_RFID_ID_MESSAGE0="射频卡 引脚 %1 验证通过",vF.LABPLUS_GET_RFID_ID_TOOLTIP="",vF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",vF.LABPLUS_GET_RFID_VALUE_MESSAGE0="电子钱包 引脚 %1 余额",vF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",vF.LABPLUS_GET_RFID_VALUE_HELPURL="",vF.LABPLUS_SET_RFID_VALUE_MESSAGE0="设置电子钱包 引脚 %1 余额 %2 %3",vF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",vF.LABPLUS_SET_RFID_VALUE_HELPURL="",vF.LABPLUS_SET_RFID_ADD="增加",vF.LABPLUS_SET_RFID_MINUS="减少",vF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="声音传感器 引脚 %1 被触发",vF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",vF.LABPLUS_USB_SWITCH_HELPURL="",vF.LABPLUS_USB_SWITCH_TOOLTIP="",vF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB开关 引脚 %2",vF.LABPLUS_USB_SWITCH_ON="打开",vF.LABPLUS_USB_SWITCH_OFF="关闭",vF.LABPLUS_VOICE_RECORD_HELPURL="",vF.LABPLUS_VOICE_RECORD_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 语音录放器 引脚 %2",vF.LABPLUS_VOICE_RECORD_ON="打开",vF.LABPLUS_VOICE_RECORD_OFF="关闭",vF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引脚 %1 控制,RGB 彩灯数 %2 ",vF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩灯。需要设定 neopixels 彩灯数量和控制脚。",vF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",vF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩灯 %1",vF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩灯",vF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",vF.LABPLUS_RGB_SHOW_MESSAGE0="显示 RGB 彩灯 %1",vF.LABPLUS_RGB_SHOW_TOOLTIP="显示 / 更新全部 RGB 彩灯。",vF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",vF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",vF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩灯的红、绿、蓝 (RGB) 颜色",vF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="设置扩展端口 IO %1 为 %2",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示输出引脚,1表示输入引脚",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="输入",vF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="输出",vF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",vF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",vF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="读取扩展端口值 IO %1",vF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",vF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",vF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="设置扩展端口 IO %1 值为 %2",vF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",vF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",vF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超声波传感器的值",vF.MICROBIT_SET_MUSIC_PIN_HELPURL="",vF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",vF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="设置默认蜂鸣器引脚为 %1",vF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94",vF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人体感应 引脚 %1 被触发",vF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3",vF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="门磁开关 引脚 %1 被触发",vF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",vF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",vF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="声音传感器 引脚 %1 的值",vF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",vF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",vF.LABPLUS_SMOKE_SENSOR_MESSAGE0="烟雾传感器 引脚 %1 的值",vF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",vF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",vF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤湿度传感器 引脚 %1 的值",vF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",vF.LABPLUS_FAN_SWITCH_TOOLTIP="",vF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 风扇 引脚 %2",vF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 引脚 %2",vF.LABPLUS_VOICE_RECORD_PLAY="播放",vF.LABPLUS_VOICE_RECORD_REC="录音",vF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 引脚 %1",vF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_ON_TOOLTIP="",vF.LABPLUS_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚 %3",vF.LABPLUS_MOTOR_ON_CLOCKWISE="正转",vF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反转",vF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_OFF_TOOLTIP="",vF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流电机 引脚 %1",vF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",vF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",vF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C颜色传感器读取并储存颜色",vF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",vF.LABPLUS_RGB_COLOR_TOOLTIP="读取已储存的颜色",vF.LABPLUS_RGB_COLOR_MESSAGE0="RGB颜色 %1",vF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",vF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",vF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="设置I2C数码管的值为 %1",vF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",vF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",vF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="关闭I2C数码管",vF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",vF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="设置MIDI模块音调为 %1",vF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",vF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模块 %2 音符 %1",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",vF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",vF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si";vF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",vF.LABPLUS_UART_OFF_MIDI_NOTE="停止",vF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",vF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模块停止播放音符 %1",vF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",vF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",vF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模块 %1",vF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",vF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循迹传感器 引脚 %1 检测为黑",vF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",vF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",vF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35温度传感器 引脚 %1 的值",vF.LABPLUS_ROTATE_DIMMER_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8",vF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",vF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋转电位器 引脚 %1 的值",vF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",vF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",vF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震动传感器 引脚 %1 被触发",vF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",vF.LABPLUS_LASER_SWITCH_TOOLTIP="",vF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光开关 引脚 %2",vF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",vF.LABPLUS_4BUTTON_TOOLTIP="",vF.LABPLUS_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",vF.BLUE="A",vF.GREEN="B",vF.RED="C",vF.YELLOW="D",vF.LABPLUS_JOYSTICK_HELPURL="",vF.LABPLUS_JOYSTICK_TOOLTIP="",vF.LABPLUS_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",vF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",vF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",vF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模块(UART)播放第 %1 首音乐",vF.LABPLUS_UART_MP3_SET_VOLUME_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",vF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",vF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="设置MP3模块(UART)音量为 %1",vF.LABPLUS_UART_MP3_SET_STATUS_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",vF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",vF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="设置MP3模块(UART)状态为 %1",vF.PAUSE="暂停",vF.STOP="停止",vF.PLAY="继续播放",vF.PLAYNEXT="下一首",vF.PLAYPREV="上一首",vF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_INIT_TOOLTIP="",vF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",vF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打开录放器 %1 %2 引脚REC %3 引脚PLAY %4",vF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",vF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",vF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="关闭录放器 %1 引脚REC %2 引脚PLAY %3",vF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_ON1_TOOLTIP="",vF.LABPLUS_MOTOR_ON1_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",vF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",vF.LABPLUS_MOTOR_OFF1_TOOLTIP="",vF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",vF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",vF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="设置LCD游标位置%1 X %2 Y %3",vF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",vF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="设置LCD显示 %1",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循环次数使用",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滚动LCD显示内容",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",vF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",vF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",vF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",vF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD显示内容",vF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",vF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到数据",vF.BLUEBIT_UART="串口",vF.BLUEBIT_INFRARED_SIGNAL="红外信号",vF.BLUEBIT_BLUEBOOTH="蓝牙",vF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_READ_MSG_TOOLTIP="",vF.LABPLUS_UART_READ_MSG_MESSAGE0="读取 %1 数据",vF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",vF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",vF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 发送数据 %2",vF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",vF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",vF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="设置点阵 %1 第一行显示%2 第二行显示%3 第三行显示%4 第四行显示%5 第五行显示%6 第六行显示%7 第七行显示%8 第八行显示%9 ",vF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2="设置点阵 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",vF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",vF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",vF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空点阵",vF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",vF.LABPLUS_UART_SET_OLED_TOOLTIP="",vF.LABPLUS_UART_SET_OLED_MESSAGE0="设置OLED屏 %1 X %2 Y %3 显示文本 %4 字体为 %5",vF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",vF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",vF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩阵 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",vF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",vF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",vF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",vF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",vF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",vF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模拟光线传感器 引脚 %1 的值",vF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",vF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按键模块 引脚 %1 被按下",vF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",vF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="设置舵机 %1 的角度为 %2",vF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",vF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="设置马达 %1 方向 %2 速度 %3",vF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",vF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止马达 %1",vF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="声音传感器的值",vF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",vF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光线传感器的值",vF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",vF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",vF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_INIT_I2C_TOOLTIP="",vF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 频率 %1 引脚SDA %2 引脚SCL %3",vF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_I2C_READ_TOOLTIP="",vF.MICROBIT_I2C_READ_MESSAGE0="I2C读取从地址 %1 读取 %2 字节",vF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_I2C_WRITE_TOOLTIP="",vF.MICROBIT_I2C_WRITE_MESSAGE0="I2C写入 %2 到地址 %1",vF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",vF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",vF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",vF.BOTBIT_MOTOR_ON_HELPURL="",vF.BOTBIT_MOTOR_ON_TOOLTIP="范围:-2000~2000",vF.BOTBIT_MOTOR_ON_MESSAGE0="设置机器人 %1 右轮速度为 %2 左轮速度为 %3",vF.BOTBIT_MOTOR_LEFT="左",vF.BOTBIT_MOTOR_RIGHT="右",vF.BOTBIT_SERVO_UP="上方",vF.BOTBIT_SERVO_DOWN="下方",vF.BOTBIT_MOTOR_FORWARD="前进",vF.BOTBIT_MOTOR_BACKWARD="后退",vF.BOTBIT_HOLDBALL_HELPURL="",vF.BOTBIT_HOLDBALL_TOOLTIP="",vF.BOTBIT_HOLDBALL_MESSAGE0="双臂抱起",vF.BOTBIT_STEERING_ENGINEL_HELPURL="",vF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度范围为-45°~45°",vF.BOTBIT_STEERING_ENGINEL_MESSAGE0="设置 %1臂 %2的角度为 %3",vF.BOTBIT_SERVO_Y="Y轴舵机",vF.BOTBIT_SERVO_X="X轴舵机",vF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",vF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度范围为-45°~45°",vF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="设置 %1腿 %2舵机的角度为 %3",vF.BOTBIT_UPDATEPOSITION_HELPURL="",vF.BOTBIT_UPDATEPOSITION_TOOLTIP="",vF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵机角度",vF.BOTBIT_ULTRASONIC_HELPURL="",vF.BOTBIT_ULTRASONIC_TOOLTIP="",vF.BOTBIT_ULTRASONIC_MESSAGE0="超声波传感器的值",vF.BOTBIT_WALKING_HELPURL="",vF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推荐1000~2000",vF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步数%2 周期%3 方向%1 ",vF.BOTBIT_WALKING_FORWARD="前",vF.BOTBIT_WALKING_BACK="后",vF.BOTBIT_MOONWALKER_HELPURL="",vF.BOTBIT_MOONWALKER_TOOLTIP="推荐周期1000~2000, 幅度10~50",vF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步数%2 周期%3 幅度%4 方向%1 ",vF.BOTBIT_MOONWALKER_L="左",vF.BOTBIT_MOONWALKER_R="右",vF.BOTBIT_CRUSAITO_HELPURL="",vF.BOTBIT_CRUSAITO_TOOLTIP="推荐步数2~10, 幅度10~50",vF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步数%2 周期%3 幅度%4 方向%1",vF.BOTBIT_CRUSAITO_CW="逆时针",vF.BOTBIT_CRUSAITO_ANTICW="顺时针",vF.BOTBIT_FLAPPING_HELPURL="",vF.BOTBIT_FLAPPING_TOOLTIP="推荐步数5~15, 幅度10~30, 周期1000~2000",vF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步数%2 周期%3 幅度%4 方向%1",vF.BOTBIT_FLAPPING_FORWARD="前",vF.BOTBIT_FLAPPING_BACK="后",vF.BOTBIT_HOME_HELPURL="",vF.BOTBIT_HOME_TOOLTIP="",vF.BOTBIT_HOME_MESSAGE0="机器人舞步初始化",vF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",vF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",vF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="设置MIDI模块音量为 %1",vF.labplus_mapping_MESSAGE0="映射%1 从%2 , %3到%4 , %5",vF.labplus_mapping_TOOLTIP="将0~100中的10映射到0~200中并返回映射值",vF.labplus_mapping_HELPURL="",vF.JOINT_MIDI_PIANO="平台钢琴",vF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",vF.JOINT_MIDI_ELECTRICGRANDPIANO="电钢琴",vF.JOINT_MIDI_HARPSICHORD="大键琴",vF.JOINT_MIDI_Celesta="钢片琴",vF.JOINT_MIDI_Glockenspiel="钟琴",vF.JOINT_MIDI_Musicalbox="音乐盒",vF.JOINT_MIDI_Marimba="马林巴琴",vF.JOINT_MIDI_Xylophone="木琴",vF.JOINT_MIDI_TubularBell="管钟",vF.JOINT_MIDI_Dulcimer="洋琴",vF.JOINT_Vibraphone="颤音琴",vF.JOINT_MIDI_ORGAN="音栓风琴",vF.JOINT_Acoustic_Guitar="木吉他",vF.JOINT_Electric_Guitar="电吉他",vF.JOINT_Acoustic_Bass="民谣贝斯",vF.JOINT_String_Ensemble="弦乐合奏",vF.JOINT_Violin="小提琴",vF.JOINT_Trumpet="小号",vF.JOINT_Sax="萨克斯",vF.JOINT_Steel_Drums="钢鼓",vF.JOINT_Lead="合成音主旋律",vF.JOINT_Pad="合成音衬底",vF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",vF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",vF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音调 %1",vF.Carbit_init_MESSAGE0="CarBit初始化",vF.Carbit_init_TOOLTIP="",vF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_setLeftMotor_MESSAGE0="B2电机速度 %1",vF.Carbit_setLeftMotor_TOOLTIP="范围:-100~100",vF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_setRightMotor_MESSAGE0="B1电机速度 %1",vF.Carbit_setRightMotor_TOOLTIP="范围:-100~100",vF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_analog_light_TOOLTIP="Q3对应Pin1,Q4对应Pin2",vF.Carbit_analog_light_MESSAGE0="%1 模拟光线的值",vF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_Speed_U10_TOOLTIP="对应U10",vF.Carbit_Speed_U10_MESSAGE0="左轮速度",vF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_Speed_U11_TOOLTIP="对应U11",vF.Carbit_Speed_U11_MESSAGE0="右轮速度",vF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_Distance_TOOLTIP="",vF.Carbit_Distance_MESSAGE0="超声波的值",vF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",vF.Carbit_tracking_TOOLTIP="",vF.Carbit_tracking_MESSAGE0="循迹参数 %1 直行速度 %2 最大限速 %3 转弯延时 %5 转弯速度系数 %4 ",vF.XUNFEI_SPEECH_TTS_HELPURL="",vF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音频文件格式只能是 *.pcm",vF.XUNFEI_SPEECH_TTS_MESSAGE0="[讯飞语音] 合成音频 %1 APPID %2 APISecret %3 APIKey %4 文字内容 %5 转存为音频文件 %6",vF.XUNFEI_SPEECH_IAT_HELPURL="",vF.XUNFEI_SPEECH_IAT_TOOLTIP="可识别的音频格式有 *.pcm 与 *.wav",vF.XUNFEI_SPEECH_IAT_MESSAGE0="[讯飞语音] 识别音频 %1 APPID %2 APISecret %3 APIKey %4 待识别音频文件 %5",vF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",vF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",vF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[讯飞语音] 识别结果",vF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",vF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",vF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",vF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",vF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",vF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",vF.MPYTHON_ZKAI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",vF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",vF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",vF.MPYTHON_ZKAI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",vF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",vF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",vF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",vF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",vF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",vF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",vF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",vF.MPYTHON_ZKAI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",vF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",vF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",vF.MPYTHON_ZKAI_SENSOR_OffOn_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%85%B3%E9%97%AD%E6%91%84%E5%83%8F%E5%A4%B4",vF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",vF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",vF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",vF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",vF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",vF.MPYTHON_ZKAI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",vF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",vF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",vF.MPYTHON_ZKAI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",vF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",vF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",vF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",vF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",vF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",vF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%A2%9E%E7%9B%8A%E5%80%BC",vF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",vF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",vF.MPYTHON_ZKAI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",vF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="(掌控AI)寻找颜色 LAB值%1",vF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",vF.MPYTHON_ZKAI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",vF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",vF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追踪色块",vF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",vF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追踪颜色 显示%1",vF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",vF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1获取识别后色块的 所有参数",vF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1获取识别后色块的 x坐标",vF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 y坐标",vF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1获取识别后色块的 宽度",vF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1获取识别后色块的 高度",vF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1获取识别后色块的 数量",vF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1获取识别后色块的 中心x坐标",vF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 中心y坐标",vF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",vF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1获取识别后色块的 矩形",vF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",vF.MPYTHON_ZKAI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)选择训练模型 人脸",vF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 人脸识别",vF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",vF.MPYTHON_ZKAI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)获取识别后人脸的 所有参数",vF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",vF.MPYTHON_ZKAI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)获取识别后人脸的 x坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)获取识别后人脸的 y坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",vF.MPYTHON_ZKAI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)获取识别后人脸的 宽度",vF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",vF.MPYTHON_ZKAI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)获取识别后人脸的 高度",vF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",vF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)获取识别后人脸的 置信度",vF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",vF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)获取识别后人脸的 数量",vF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",vF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",vF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",vF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",vF.MPYTHON_ZKAI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",vF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",vF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",vF.MPYTHON_ZKAI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)选择训练模型 20类",vF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 20类识别",vF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",vF.MPYTHON_ZKAI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)获取识别后20类的 所有参数",vF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",vF.MPYTHON_ZKAI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)获取识别后20类的 x坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)获取识别后20类的 y坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",vF.MPYTHON_ZKAI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)获取识别后20类的 宽度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)获取识别后20类的 高度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)获取识别后20类的 置信度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",vF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)获取识别后20类的 数量",vF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",vF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)获取识别后20类的 类型",vF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)获取识别后20类的 类型数量",vF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",vF.MPYTHON_ZKAI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)选择训练模型 手写数字",vF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",vF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",vF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)调用摄像头进行 手写数字识别",vF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)获取识别后手写数字的 所有参数",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",vF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)获取识别后手写数字的 数字",vF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)获取识别后手写数字的 置信度",vF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="(掌控AI)获取 识别%1",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="(掌控AI)获取 识别 所有参数",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="(掌控AI)人脸识别",vF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",vF.MPYTHON_ZKAI_IMAGE_20CLASS_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",vF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="(掌控AI)可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",vF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",vF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",vF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",vF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",vF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",vF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",vF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",vF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",vF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",vF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",vF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",vF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",vF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",vF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",vF.MPYTHON_ZKAI_LCD_TEXT_MOST_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",vF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",vF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",vF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",vF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",vF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",vF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",vF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",vF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-2%EF%BC%9A-%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",vF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",vF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",vF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",vF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",vF.MPYTHON_ZKAI_SENSOR_ENABLE_START="开始抓取图像",vF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取图像",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平镜像",vF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻转",vF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="对比度",vF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",vF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="饱和度",vF.MPYTHON_ZKAI2_FACE_YOLO="人脸识别",vF.MPYTHON_ZKAI2_CLASS_20_YOLO="20类识别",vF.MPYTHON_ZKAI2_MNIST_NET="数字识别",vF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人脸",vF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="20类",vF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",vF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",vF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",vF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="声明python 运行环境",vF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",vF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C获取颜色",vF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",vF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",vF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C获取 %1",vF.MPYTHON_lARK_RED="红色",vF.MPYTHON__LARK_GREEN="绿色",vF.MPYTHON__LARK_BLUE="蓝色",vF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C获取HSV",vF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C获取HSV %1",vF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",vF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C获取颜色",vF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",vF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="识别 %1",vF.MPYTHON_LARK_RED="红色",vF.MPYTHON_LARK_GREEN="绿色",vF.MPYTHON_LARK_BLUE="蓝色",vF.MPYTHON_LARK_ORANGE="橙色",vF.MPYTHON_LARK_YELLOW="黄色",vF.MPYTHON_LARK_PURPLE="紫色",vF.MPYTHON_LARK_CYAN="青色",vF.MPYTHON_LARK_NONE="无色",vF.MPYTHON_LARK_NULL="无法获取",vF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",vF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超声波",vF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",vF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C设置 %1 速度 %2",vF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C获取 %1 巡线值",vF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右边",vF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左边",vF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循迹传感 %1 遇到黑线",vF.MPYTHON_LARK_SEARCH_LEFT="左边",vF.MPYTHON_LARK_SEARCH_RIGHT="右边",vF.MPYTHON_LARK_SEARCH_LEFT2="两边都",vF.MPYTHON_LARK_SEARCH_RIGHT2="两边都没有",vF.MPYTHON_LARK_SEARCH_BOTH="两边都",vF.MPYTHON_LARK_SEARCH_NONE="两边都没有",vF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",vF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里马获取颜色",vF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",vF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里马获取 %1",vF.MPYTHON_lARK_CAR_RED="红色",vF.MPYTHON__LARK_CAR_GREEN="绿色",vF.MPYTHON__LARK_CAR_BLUE="蓝色",vF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里马获取HSV",vF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",vF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里马获取HSV %1",vF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",vF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里马识别颜色",vF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",vF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里马识别颜色 %1",vF.MPYTHON_LARK_CAR_RED="红色",vF.MPYTHON_LARK_CAR_GREEN="绿色",vF.MPYTHON_LARK_CAR_BLUE="蓝色",vF.MPYTHON_LARK_CAR_ORANGE="橙色",vF.MPYTHON_LARK_CAR_YELLOW="黄色",vF.MPYTHON_LARK_CAR_PURPLE="紫色",vF.MPYTHON_LARK_CAR_CYAN="青色",vF.MPYTHON_LARK_CAR_NONE="无识别",vF.MPYTHON_LARK_CAR_NULL="识别错误",vF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",vF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里马获取超声波",vF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里马获取 %1 循迹数值",vF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右边",vF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左边",vF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",vF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里马循迹传感器 %1 碰到黑线",vF.MPYTHON_LARK_CAR_SEARCH_LEFT="左边",vF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右边",vF.MPYTHON_LARK_CAR_SEARCH_LEFT2="两边",vF.MPYTHON_LARK_CAR_SEARCH_NONE="两边都没有",vF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",vF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="电机驱动 %1 速度 %2",vF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",vF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里马 %1 速度 %2",vF.MPYTHON_LARK_CAR_MOTION_LEFT="左转",vF.MPYTHON_LARK_CAR_MOTION_RIGHT="右转",vF.MPYTHON_LARK_CAR_MOTION_FORWARD="前进",vF.MPYTHON_LARK_CAR_MOTION_BACKWARD="后退",vF.MPYTHON_LARK_CAR_MOTION_STOP="停止",vF.MPYTHON_DEFINE_THREAD_MESSAGE0="定义线程 %1",vF.MPYTHON_RUN_THREAD_MESSAGE0="运行线程 %1",vF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 转换数字为bytes %1 %2 %3 %4 待转换数字 %5",vF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes为数字 %1 %2 %3 %4 待转换bytes %5",vF.LITTLE_ENDIAN="低位优先(默认)",vF.BIG_ENDIAN="高位优先",vF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[适用2.0板] 当掌控板 %1 时",vF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",vF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向后倾斜",vF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",vF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",vF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被单击",vF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被双击",vF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="坠落",vF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="横滚角",vF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",vF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",vF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",vF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",vF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",vF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",vF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按键 %1 已经按下",vF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",vF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",vF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按键 %1 曾经按下",vF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",vF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",vF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按键 %1 按下过的次数",vF.MPYTHON2_BUTTON_EVENT_MESSAGE0="当按键 %1 被 %2 时",vF.MPYTHON2_BUTTON_EVENT_HELPURL="",vF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",vF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",vF.MPYTHON2_BUTTON_EVENT_RELEASED="松开",vF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",vF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="触摸键 %1 已经按下",vF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",vF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="触摸键 %1 曾经按下",vF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",vF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="触摸键 %1 按下过的次数",vF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",vF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="触摸键 %1 值",vF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",vF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",vF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",vF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="触摸",vF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="释放",vF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="设置触摸键 %1 阀值为 %2",vF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",vF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",vF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",vF.BLE_UUID_TOOLTIP="",vF.BLE_SETUP_PERIPHERAL_HELPURL="",vF.BLE_SETUP_PERIPHERAL_TOOLTIP="",vF.BLE_SETUP_PERIPHERAL_MESSAGE0="构建 BLE 外围设备对象 %1 显示名称 %2 Service UUID %3",vF.BLE_ADD_CHARACTERISTIC_HELPURL="",vF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",vF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定义 BLE 属性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",vF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",vF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",vF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外围设备 %1",vF.BLE_START_BROADCASTING="开始广播",vF.BLE_STOP_BROADCASTING="停止广播",vF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",vF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",vF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="读 BLE 设备的属性 %1",vF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",vF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",vF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="写 BLE 设备的属性 %1 %2 值 %3 Notify %4",vF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",vF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",vF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外围设备断开连接",vF.BLE_PERIPHERAL_MAC_HELPURL="",vF.BLE_PERIPHERAL_MAC_TOOLTIP="",vF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外围设备 MAC地址",vF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",vF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",vF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="当 BLE 与中央设备建立连接时 %1 连接句柄 %2 地址类型 %3 中央设备的MAC地址 %4",vF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",vF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",vF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="当 BLE 设备的属性值被改写时 %1 连接句柄 %2 被写属性句柄 %3 写入的数据 %4",vF.BLE_SETUP_CENTERAL_HELPURL="",vF.BLE_SETUP_CENTERAL_TOOLTIP="",vF.BLE_SETUP_CENTERAL_MESSAGE0="构建 BLE 中央设备对象 显示名称 %1",vF.BLE_CENTERAL_CONNECT_HELPURL="",vF.BLE_CENTERAL_CONNECT_TOOLTIP="",vF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央设备连接到 %1 %2",vF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",vF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",vF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外围设备已连接 ?",vF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",vF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",vF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="设定 %1 为 已连接外围设备 属性对象 %2 Service UUID %3 Characteristic UUID %4",vF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",vF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",vF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="读 已连接外围设备的 属性 %1 值",vF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",vF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",vF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="写 已连接外围设备的 属性 %1 值 %2",vF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",vF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",vF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="当 已连接外围设备发起 Notify 通知事件时 %1 属性的值柄 %2 通知的属性值 %3",vF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",vF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",vF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已连接的外围设备 %1",vF.BLE_CENTERAL_CLOSE_HELPURL="",vF.BLE_CENTERAL_CLOSE_TOOLTIP="",vF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央设备 断开连接",vF.BLE_INFO_NAME="蓝牙名称",vF.BLE_INFO_MAC="MAC地址",vF.BLE_INFO_RSSI="信号强度",vF.BLE_INFO_ADDRTYPE="地址类型",vF.BLE_INFO_ADVTYPE="广播类型",vF.BLE_INFO_DATA="原始数据(元组)",vF.BLE_SETUP_UART_HELPURL="",vF.BLE_SETUP_UART_TOOLTIP="",vF.BLE_SETUP_UART_MESSAGE0="构建 BLE UART从机 显示名称 %1",vF.BLE_UART_IS_CONNECTED_HELPURL="",vF.BLE_UART_IS_CONNECTED_TOOLTIP="",vF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已连接 ?",vF.BLE_UART_ANY_HELPURL="",vF.BLE_UART_ANY_TOOLTIP="",vF.BLE_UART_ANY_MESSAGE0="BLE UART 可读字节数量",vF.BLE_UART_IRQ_HELPURL="",vF.BLE_UART_IRQ_TOOLTIP="",vF.BLE_UART_IRQ_MESSAGE0="当 BLE UART 接收到数据时 %1 执行 %2",vF.BLE_UART_READ_HELPURL="",vF.BLE_UART_READ_TOOLTIP="从 UART 另一端发送过来的消息",vF.BLE_UART_READ_MESSAGE0="已接收数据",vF.BLE_UART_WRITE_HELPURL="",vF.BLE_UART_WRITE_TOOLTIP="",vF.BLE_UART_WRITE_MESSAGE0="BLE UART 发送字节 %1",vF.BLE_UART_CLOSE_HELPURL="",vF.BLE_UART_CLOSE_TOOLTIP="",vF.BLE_UART_CLOSE_MESSAGE0="BLE UART 断开连接",vF.BLE_SETUP_UART_MASTER_HELPURL="",vF.BLE_SETUP_UART_MASTER_TOOLTIP="",vF.BLE_SETUP_UART_MASTER_MESSAGE0="构建 BLE UART主机 连接到 %1 %2",vF.BLE_SETUP_HID_HELPURL="",vF.BLE_SETUP_HID_TOOLTIP="",vF.BLE_SETUP_HID_MESSAGE0="构建 BLE HID %1 对象 %2 显示名称 %3 电池电量 %4",vF.BLE_HID_MOUSE="鼠标",vF.BLE_HID_KEYBOARD="键盘",vF.BLE_HID_CONSUMER="遥控器",vF.BLE_HID_ADVERTISE_HELPURL="",vF.BLE_HID_ADVERTISE_TOOLTIP="",vF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID设备 %1",vF.BLE_HID_CONNECT_EVENT_HELPURL="",vF.BLE_HID_CONNECT_EVENT_TOOLTIP="",vF.BLE_HID_CONNECT_EVENT_MESSAGE0="当 BLE HID设备 连接时",vF.BLE_HID_DISCONNECT_HELPURL="",vF.BLE_HID_DISCONNECT_TOOLTIP="",vF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID设备 断开连接",vF.BLE_HID_BATTERY_LEVEL_HELPURL="",vF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",vF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID设备 电池电量",vF.BLE_HID_MOUSE_BUTTONS_HELPURL="",vF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",vF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠标键 %1",vF.BLE_HID_MOUSE_CLICK_HELPURL="",vF.BLE_HID_MOUSE_CLICK_TOOLTIP="",vF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠标 点击按键 %1",vF.BLE_HID_MOUSE_PRESS_HELPURL="",vF.BLE_HID_MOUSE_PRESS_TOOLTIP="",vF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠标 长按按键 %1",vF.BLE_HID_MOUSE_RELEASE_HELPURL="",vF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",vF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠标 释放按键 %1",vF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",vF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",vF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠标 释放所有按键",vF.BLE_HID_MOUSE_MOVE_HELPURL="",vF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光标移动量,范围 ±127 。\nwheel - 滚轮,范围 ±127 。",vF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠标 光标移动 %1 X轴移动量 %2 Y轴移动量 %3 滚轮 %4",vF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",vF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",vF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="键盘按键 %1",vF.BLE_HID_KEYBOARD_SEND_HELPURL="",vF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",vF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 键盘 按下按键 %1",vF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",vF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",vF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 键盘 同时按下按键 %1 %2 %3",vF.BLE_HID_KEYBOARD_PRESS_HELPURL="",vF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",vF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 键盘 长按按键 %1",vF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",vF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",vF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 键盘 释放按键 %1",vF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",vF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",vF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 键盘 释放所有按键",vF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",vF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",vF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遥控器键 %1",vF.BLE_HID_CONSUMER_SEND_HELPURL="",vF.BLE_HID_CONSUMER_SEND_TOOLTIP="",vF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遥控器点击 %1",vF.BLE_SETUP_IBEACON_HELPURL="",vF.BLE_SETUP_IBEACON_TOOLTIP="",vF.BLE_SETUP_IBEACON_MESSAGE0="构建 BLE iBeacon设备 %1 UUID %2 major %3 minor %4",vF.BLE_IBEACON_ADVERTISE_HELPURL="",vF.BLE_IBEACON_ADVERTISE_TOOLTIP="",vF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon设备 %1",vF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",vF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回电量,单位mV",vF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的电压值(mV)",vF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",vF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回编码后的红外脉冲数据buff",vF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 红外脉冲任意编码 %1 载波频率(Hz) %2 code总数 %3 循环码位置 %4 code列表 %5 编码波形数据 %6",vF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",vF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回编码后的红外脉冲数据buff\n用户码:0~255\n命令码:0~255",vF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 红外脉冲NEC编码 %1 用户码 %2 命令码 %3",vF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",vF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",vF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 发送红外脉冲数据 %1 %2",vF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只发一次",vF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持续发送",vF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",vF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="当发送重复码后,使用此函数来停止发送。",vF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止发送红外脉冲数据",vF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",vF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="学习开始后,需等待4秒,之后返回学习结果。";vF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 开始红外学习",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 红外学习有结果 ?",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回学习后的“红外编码数据”,须在 learn 函数后使用。",vF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 学习到的红外编码数据",vF.MPYTHON_MLX90615_SET_HELPURL="",vF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接触测温传感器 设置发射系数%1",vF.MPYTHON_MLX90615_SET_TOOLTIP="",vF.MPYTHON_MLX90615_GET_HELPURL="",vF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接触测温传感器 获取系数",vF.MPYTHON_MLX90615_GET_TOOLTIP="",vF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",vF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接触测温传感器 获取测温",vF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",vF.MPYTHON_MQ135_INIT_HELPURL="",vF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 输出引脚%1 温度%2 ℃ 湿度%3 %",vF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 连接扩展板的电源口 V ,GND连接扩展板的地线口 G ,AO输出连接扩展板的引脚 P0/P1(即选引脚)\nMQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度",vF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",vF.MPYTHON_MQ135_OPTIONS_HELPURL="",vF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探测到的二氧化碳的百万分之一(假设只有空气中的二氧化碳) ppm浓度",vF.MPYTHON_MQ135_GET_RZERO="校正传感器电阻",vF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正传感器电阻(校准温度、湿度)",vF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度",vF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度(校准温度、湿度)",vF.mpython_gyroscope_get_HELPURL="",vF.mpython_gyroscope_get_MESSAGE0="%1 轴角速度",vF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版适用",vF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",vF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",vF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",vF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",vF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",vF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",vF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",vF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",vF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",vF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="设置角速度范围,默认为 ±256dps。仅适用于掌控板2.3及以上版本",vF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="设置角速度范围为 %1",vF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",vF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校准陀螺仪角速度计的3个轴(x,y,z)的角速度值偏差。\n一般情况下无需校准,只有遇到角速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1024dps。\n注意:v2.3版本以后适用",vF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校准角速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4";const XF=vF,VF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"是數字",TEXT_IS_ALPHA:"是字母",TEXT_IS_ALNUM:"是數字和字母的組合",TEXT_LIST_START:"初始化列表 [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"初始化元組 (",TEXT_TUPLE_END:")",TEXT_DICT_START:"初始化字典 {",TEXT_DICT_END:"}",TEXT_SET_START:"初始化集合 {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",ADD_COMMENT:"添加註釋",CHANGE_VALUE_TITLE:"更改值:",CLEAN_UP:"整理塊",COLLAPSE_ALL:"折疊塊",COLLAPSE_BLOCK:"折疊塊",COLOUR_BLEND_COLOUR1:"顏色1",COLOUR_BLEND_COLOUR2:"顏色2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"比例",COLOUR_BLEND_TITLE:"混合",COLOUR_BLEND_TOOLTIP:"用一個給定的比率(0.0-1.0)混合兩種顏色。",COLOUR_PICKER_HELPURL:"https://zh.wikipedia.org/wiki/顏色",COLOUR_PICKER_TOOLTIP:"從調色板中選擇一種顏色。",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"隨機顏色",COLOUR_RANDOM_TOOLTIP:"隨機選擇一種顏色。",COLOUR_RGB_BLUE:"藍色",COLOUR_RGB_GREEN:"綠色",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"紅色",COLOUR_RGB_TITLE:"顏色",COLOUR_RGB_TOOLTIP:"通過指定紅色、綠色和藍色的量創建一種顏色。所有的值必須介於0和100之間。",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"中斷循環",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"繼續下一次循環",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"中斷包含它的循環。",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"跳過這個循環的剩余部分,並繼續下一次叠代。",CONTROLS_FLOW_STATEMENTS_WARNING:"警告:此塊僅可用於在一個循環內。",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"為每個項目 %1 在列表中 %2",CONTROLS_FOREACH_TOOLTIP:"遍歷每個列表中的項目,將變量“%1”設定到該項中,然後執行某些語句。",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"使用 %1 從範圍 %2 到 %3 每隔 %4",CONTROLS_FOR_TOOLTIP:"從起始數到結尾數中取出變量“%1”的值,按指定的時間間隔,執行指定的塊。",CONTROLS_IF_ELSEIF_TOOLTIP:"在if語句塊中增加一個條件。",CONTROLS_IF_ELSE_TOOLTIP:"添加一個最終的,包括所有情況的節到if塊中。",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",CONTROLS_IF_IF_TOOLTIP:"增加、刪除或重新排列各節來重新配置“if”塊。",CONTROLS_IF_MSG_ELSE:"否則",CONTROLS_IF_MSG_ELSEIF:"否則如果",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",CONTROLS_IF_MSG_IF:"如果",CONTROLS_IF_TOOLTIP_1:"如果值為真,執行一些語句。",CONTROLS_IF_TOOLTIP_2:"如果值為真,則執行第一塊語句。否則,則執行第二塊語句。",CONTROLS_IF_TOOLTIP_3:"如果第一個值為真,則執行第一塊的語句。否則,如果第二個值為真,則執行第二塊的語句。",CONTROLS_IF_TOOLTIP_4:"如果第一個值為真,則執行第一塊對語句。否則,如果第二個值為真,則執行語句的第二塊。如果沒有值為真,則執行最後一塊的語句。",CONTROLS_REPEAT_FOREVER:"一直重復",CONTROLS_REPEAT_FOREVER_TOOLTIP:"一直執行一些語句。",CONTROLS_REPEAT_HELPURL:"https://zh.wikipedia.org/wiki/For循環",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"重復 %1 次",CONTROLS_REPEAT_TOOLTIP:"多次執行一些語句。",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"重復直到",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"重復當",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"只要值為假,執行一些語句。",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"只要值為真,執行一些語句。",DELETE_ALL_BLOCKS:"刪除所有%1塊嗎?",DELETE_BLOCK:"刪除塊",DELETE_VARIABLE:"刪除“%1”變量",DELETE_VARIABLE_CONFIRMATION:"刪除“%2”變量的%1種用途麽?",DELETE_X_BLOCKS:"刪除塊",DISABLE_BLOCK:"禁用塊",DUPLICATE_BLOCK:"復制",ENABLE_BLOCK:"啟用塊",EXPAND_ALL:"展開塊",EXPAND_BLOCK:"展開塊",EXTERNAL_INPUTS:"多行輸入",HELP:"幫助",INLINE_INPUTS:"單行輸入",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"創建空列表",TUPLE_CREATE_EMPTY_TITLE:"創建空元組",DICT_CREATE_EMPTY_TITLE:"創建空字典",SET_CREATE_EMPTY_TITLE:"創建空集合",LISTS_CREATE_EMPTY_TOOLTIP:"返回一個列表,長度為 0,不包含任何數據記錄",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"列表",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"元組",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"字典",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"集合",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個列表塊。",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個元組塊。",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個字典塊。",SET_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個集合塊。",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"初始化列表",TUPLE_CREATE_WITH_INPUT_WITH:"初始化元組",DICT_CREATE_WITH_INPUT_WITH:"初始化字典",SET_CREATE_WITH_INPUT_WITH:"初始化集合",LISTS_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到列表中。",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到元組中。",DICT_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到字典中。",SET_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到集合中。",LISTS_CREATE_WITH_TOOLTIP:"建立一個具有任意數量項目的列表。",LISTS_GET_INDEX_FIRST:"第一",LISTS_GET_INDEX_FROM_END:"倒數第",LISTS_GET_INDEX_FROM_START:"第",LISTS_GET_INDEX_GET:"獲得",LISTS_GET_INDEX_GET_REMOVE:"取出並移除",LISTS_GET_INDEX_LAST:"最後",LISTS_GET_INDEX_RANDOM:"隨機",LISTS_GET_INDEX_REMOVE:"移除",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"在列表 %1 中移除 %2 項",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"返回列表中的第一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_FROM:"返回在列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"返回列表中的最後一項。",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"隨機返回列表中的一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"移除並返回列表中的第一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:"移除並返回列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"移除並返回列表中的最後一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"移除並返回列表中的一個隨機項目中。",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"移除列表中的第一項",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:"移除在列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"移除列表中的最後一項",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"刪除列表中的一個隨機的項。",LISTS_GET_SUBLIST_END_FROM_END:"到倒數第#",LISTS_GET_SUBLIST_END_FROM_START:"到#",LISTS_GET_SUBLIST_END_LAST:"到最後",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"從頭獲得子列表",LISTS_GET_SUBLIST_START_FROM_END:"從倒數#取得子列表",LISTS_GET_SUBLIST_START_FROM_START:"從#取得子列表",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"復制列表中指定的部分。",LISTS_INDEX_FROM_END_TOOLTIP:"%1是最後一項。",LISTS_INDEX_FROM_START_TOOLTIP:"%1是第一個項目。",LISTS_INDEX_OF_FIRST:"找出第一個項出現",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"找出最後一個項出現",LISTS_INDEX_OF_TOOLTIP:"返回在列表中的第一/最後一個匹配項的索引值。如果找不到項目則返回0",LISTS_INLIST:"在列表中",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1是空的",LISTS_ISEMPTY_TOOLTIP:"如果改列表為空,則返回真。",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"%1的長度",LISTS_LENGTH_TOOLTIP:"返回列表的長度。",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"建立列表 項 %1 重復 %2 次",LISTS_REPEAT_TOOLTIP:"建立包含指定重復次數的值的列表。",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"為",LISTS_SET_INDEX_INSERT:"插入在",LISTS_SET_INDEX_SET:"設置",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"在列表的起始處添加該項。",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:"插入在列表中指定位置的項。",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"將該項追加到列表的末尾。",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"在列表中隨機插入項。",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"設置列表中的第一個項目。",LISTS_SET_INDEX_TOOLTIP_SET_FROM:"設置在列表中指定位置的項。",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"設置列表中的最後一項。",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"設置列表中一個隨機的項目。",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"升序",LISTS_SORT_ORDER_DESCENDING:"降序",LISTS_SORT_TITLE:"排序%1 %2 %3",LISTS_SORT_TOOLTIP:"排序一個列表的拷貝。",LISTS_SORT_TYPE_IGNORECASE:"按字母排序,忽略大小寫",LISTS_SORT_TYPE_NUMERIC:"按數字排序",LISTS_SORT_TYPE_TEXT:"按字母排序",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"從文本制作列表",LISTS_SPLIT_TEXT_FROM_LIST:"從列表組合文本",LISTS_SPLIT_TOOLTIP_JOIN:"加入文本列表至一個文本,由分隔符分隔。",LISTS_SPLIT_TOOLTIP_SPLIT:"拆分文本到文本列表,按每個分隔符拆分。",LISTS_SPLIT_WITH_DELIMITER:"用分隔符",LOGIC_BOOLEAN_FALSE:"假",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"返回真或假。",LOGIC_BOOLEAN_TRUE:"真",LOGIC_COMPARE_HELPURL:"https://zh.wikipedia.org/wiki/不等",LOGIC_COMPARE_TOOLTIP_EQ:"如果兩個輸入結果相等,則返回真。",LOGIC_COMPARE_TOOLTIP_GT:"如果第一個輸入結果比第二個大,則返回真。",LOGIC_COMPARE_TOOLTIP_GTE:"如果第一個輸入結果大於或等於第二個輸入結果,則返回真。",LOGIC_COMPARE_TOOLTIP_LT:"如果第一個輸入結果比第二個小,則返回真。",LOGIC_COMPARE_TOOLTIP_LTE:"如果第一個輸入結果小於或等於第二個輸入結果,則返回真。",LOGIC_COMPARE_TOOLTIP_NEQ:"如果兩個輸入結果不相等,則返回真。",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"非%1",LOGIC_NEGATE_TOOLTIP:"如果輸入結果為假,則返回真;如果輸入結果為真,則返回假。",LOGIC_NULL:"空",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"返回空值。",LOGIC_OPERATION_AND:"和",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"或",LOGIC_OPERATION_TOOLTIP_AND:"如果兩個輸入結果都為真,則返回真。",LOGIC_OPERATION_TOOLTIP_OR:"如果至少有一個輸入結果為真,則返回真。",LOGIC_TERNARY_CONDITION:"測試",LOGIC_TERNARY_HELPURL:"https://zh.wikipedia.org/wiki/條件運算符",LOGIC_TERNARY_IF_FALSE:"如果為假",LOGIC_TERNARY_IF_TRUE:"如果為真",LOGIC_TERNARY_TOOLTIP:"檢查“test”中的條件。如果條件為真,則返回“if true”的值,否則,則返回“if false”的值。",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://zh.wikipedia.org/wiki/算術",MATH_ARITHMETIC_TOOLTIP_ADD:"返回兩個數字的和。",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"返回兩個數字的商。",MATH_ARITHMETIC_TOOLTIP_MINUS:"返回兩個數字的區別。",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"返回兩個數字的乘積。",MATH_ARITHMETIC_TOOLTIP_POWER:"返回第一個數的第二個數次冪。",MATH_CHANGE_HELPURL:"https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%B3%95",MATH_CHANGE_TITLE:"將變量 %1 的值增加 %2",MATH_CHANGE_TOOLTIP:"將一個數添加到變量“%1”。",MATH_CONSTANT_HELPURL:"https://zh.wikipedia.org/wiki/數學常數",MATH_CONSTANT_TOOLTIP:"返回一個常見常量:π (3.141......),e (2.718...)、φ (1.618...)、 sqrt(2) (1.414......)、sqrt(½) (0.707......)或 ∞(無窮大)。",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"限制數字 %1 介於 (低) %2 到 (高) %3",MATH_CONSTRAIN_TOOLTIP:"限制數字介於兩個指定的數字之間",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"強制轉換數據類型",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"%1 ÷ %2 商的整數部分",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"可被整除",MATH_IS_EVEN:"是偶數",MATH_IS_NEGATIVE:"為負",MATH_IS_ODD:"是奇數",MATH_IS_POSITIVE:"為正",MATH_IS_PRIME:"是質數",MATH_IS_TOOLTIP:"如果數字是偶數、奇數、非負整數、正數、負數或如果它可被某數字整除,則返回真或假。",MATH_IS_WHOLE:"為整數",MATH_MODULO_HELPURL:"https://zh.wikipedia.org/wiki/模除",MATH_MODULO_TITLE:"%1 ÷ %2 的余數",MATH_MODULO_TOOLTIP:"返回這兩個數字相除後的余數。",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"對數字進行位運算",MATH_NUMBER_HELPURL:"https://zh.wikipedia.org/wiki/數",MATH_NUMBER_TOOLTIP:"一個數字。",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"列表中的平均數",MATH_ONLIST_OPERATOR_MAX:"列表中的最大值",MATH_ONLIST_OPERATOR_MEDIAN:"列表中位數",MATH_ONLIST_OPERATOR_MIN:"列表中的最小值",MATH_ONLIST_OPERATOR_MODE:"列表模式",MATH_ONLIST_OPERATOR_RANDOM:"列表的隨機項",MATH_ONLIST_OPERATOR_STD_DEV:"列表中的標準差",MATH_ONLIST_OPERATOR_SUM:"列表中的數的總和",MATH_ONLIST_TOOLTIP_AVERAGE:"返回列表中的數值的平均值。",MATH_ONLIST_TOOLTIP_MAX:"返回列表中最大數。",MATH_ONLIST_TOOLTIP_MEDIAN:"返回列表中的中位數。",MATH_ONLIST_TOOLTIP_MIN:"返回列表中最小數。",MATH_ONLIST_TOOLTIP_MODE:"返回列表中的最常見的項的列表。",MATH_ONLIST_TOOLTIP_RANDOM:"從列表中返回一個隨機的元素。",MATH_ONLIST_TOOLTIP_STD_DEV:"返回列表的標準偏差。",MATH_ONLIST_TOOLTIP_SUM:"返回列表中的所有數字的和。",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://zh.wikipedia.org/wiki/隨機數生成器",MATH_RANDOM_FLOAT_TITLE_RANDOM:"隨機小數",MATH_RANDOM_FLOAT_TOOLTIP:"返回介於(包含)0.0到1.0之間的隨機數。",MATH_RANDOM_INT_HELPURL:"https://zh.wikipedia.org/wiki/隨機數生成器",MATH_RANDOM_INT_TITLE:"從 %1 到 %2 之間的隨機整數",MATH_RANDOM_INT_TOOLTIP:"返回兩個指定的範圍(含)之間的隨機整數。",MATH_ROUND_HELPURL:"https://zh.wikipedia.org/wiki/數值修約",MATH_ROUND_OPERATOR_ROUND:"四舍五入",MATH_ROUND_OPERATOR_ROUNDDOWN:"向下舍入",MATH_ROUND_OPERATOR_ROUNDUP:"向上舍入",MATH_ROUND_TOOLTIP:"數字向上或向下舍入。",MATH_SINGLE_HELPURL:"https://zh.wikipedia.org/wiki/平方根",MATH_SINGLE_OP_ABSOLUTE:"絕對",MATH_SINGLE_OP_ROOT:"平方根",MATH_SINGLE_TOOLTIP_ABS:"返回一個數的絕對值。",MATH_SINGLE_TOOLTIP_EXP:"返回數的e次冪。",MATH_SINGLE_TOOLTIP_LN:"返回一個數的自然對數。",MATH_SINGLE_TOOLTIP_LOG10:"返回數字的對數。",MATH_SINGLE_TOOLTIP_NEG:"返回數的邏輯非。",MATH_SINGLE_TOOLTIP_POW10:"返回數的10次冪。",MATH_SINGLE_TOOLTIP_ROOT:"返回數的平方根。",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://zh.wikipedia.org/wiki/三角函數",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"返回一個數的反余弦值。",MATH_TRIG_TOOLTIP_ASIN:"返回一個數的反正弦值。",MATH_TRIG_TOOLTIP_ATAN:"返回指定角度的反正切值。",MATH_TRIG_TOOLTIP_COS:"返回指定角度的余弦值(非弧度)。",MATH_TRIG_TOOLTIP_SIN:"返回指定角度的正弦值(非弧度)。",MATH_TRIG_TOOLTIP_TAN:"返回指定角度的正切值(非弧度)。",NEW_VARIABLE:"創建變量...",NEW_VARIABLE_TITLE:"新變量的名稱:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"允許聲明",PROCEDURES_BEFORE_PARAMS:"參數:",PROCEDURES_CALLNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLNORETURN_TOOLTIP:"運行用戶定義的函數“%1”。",PROCEDURES_CALLRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLRETURN_TOOLTIP:"運行用戶定義的函數“%1”,並使用它的輸出值。",PROCEDURES_CALL_BEFORE_PARAMS:"與:",PROCEDURES_CREATE_DO:"創建“%1”",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"定義函數",PROCEDURES_DEFNORETURN_TOOLTIP:"創建一個不帶輸出值的函數。",PROCEDURES_DEFRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFRETURN_RETURN:"返回",PROCEDURES_DEFRETURN_TOOLTIP:"創建一個有輸出值的函數。",PROCEDURES_DEF_DUPLICATE_WARNING:"警告: 此函數具有重復參數。",PROCEDURES_HIGHLIGHT_DEF:"突出顯示函數定義",PROCEDURES_IFRETURN_HELPURL:"http://c2.com/cgi/wiki?GuardClause",PROCEDURES_IFRETURN_TOOLTIP:"如果值為真,則返回第二個值。",PROCEDURES_IFRETURN_WARNING:"警告: 僅在定義函數內可使用此塊。",PROCEDURES_MUTATORARG_TITLE:"輸入名稱:",PROCEDURES_MUTATORARG_TOOLTIP:"添加函數輸入。",PROCEDURES_MUTATORCONTAINER_TITLE:"輸入",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"添加、刪除或重新排此函數的輸入。",REDO:"重做",REMOVE_COMMENT:"刪除註釋",RENAME_VARIABLE:"重命名變量...",RENAME_VARIABLE_TITLE:"將所有“%1”變量重命名為:",TEXT_APPEND_APPENDTEXT:"追加文本",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"",TEXT_APPEND_TOOLTIP:"將一些文本追加到變量“%1”。",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"轉為小寫",TEXT_CHANGECASE_OPERATOR_TITLECASE:"轉為首字母大寫",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"轉為大寫",TEXT_CHANGECASE_TOOLTIP:"使用不同的大小寫復制這段文字。",TEXT_CHARAT_FIRST:"獲得第一個字符",TEXT_CHARAT_FROM_END:"獲得倒數第#個字符",TEXT_CHARAT_FROM_START:"獲得字符#",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"從文本",TEXT_CHARAT_LAST:"獲得最後一個字符",TEXT_CHARAT_RANDOM:"獲取隨機的字母",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"返回位於指定位置的字母。",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"將一個項添加到文本中。",TEXT_CREATE_JOIN_TITLE_JOIN:"加入",TEXT_CREATE_JOIN_TOOLTIP:"添加、移除或重新排列各節來重新配置這個文本塊。",TEXT_GET_SUBSTRING_END_FROM_END:"到倒數第#個字符",TEXT_GET_SUBSTRING_END_FROM_START:"到字符#",TEXT_GET_SUBSTRING_END_LAST:"到最後一個字符",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"從文本",TEXT_GET_SUBSTRING_START_FIRST:"取得一段字串自第一個字符",TEXT_GET_SUBSTRING_START_FROM_END:"取得一段字串自倒數第#個字符",TEXT_GET_SUBSTRING_START_FROM_START:"取得一段字串自#",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"返回指定的部分文本。",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"在文本",TEXT_INDEXOF_OPERATOR_FIRST:"中查找 最先 出現",TEXT_INDEXOF_OPERATOR_LAST:"中查找 最後 出現",TEXT_INDEXOF_TAIL:"的位置",TEXT_INDEXOF_TOOLTIP:"返回在第二個字串中的第一/最後一個匹配項的索引值。如果未找到則返回%1。",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1是空的",TEXT_ISEMPTY_TOOLTIP:"如果提供的文本為空,則返回真。",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"轉為文本",TEXT_JOIN_TOOLTIP:"通過串起任意數量的項以建立一段文字。",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"%1的長度",TEXT_LENGTH_TOOLTIP:"返回提供文本的字母數(包括空格)。",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"打印%1",MPYTHON_INPUT_MESSAGE0:"輸入%1",TEXT_PRINT_TOOLTIP:"打印指定的文字、數字或其他值。",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"提示用戶輸入數字。",TEXT_PROMPT_TOOLTIP_TEXT:"提示用戶輸入一些文本。",TEXT_PROMPT_TYPE_NUMBER:"輸入數字並顯示提示消息",TEXT_PROMPT_TYPE_TEXT:"輸入數字並顯示提示消息",TEXT_TEXT_HELPURL:"https://zh.wikipedia.org/wiki/字符串",TEXT_TEXT_TOOLTIP:"一個字母、單詞或一行文本。",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"消除兩側空格",TEXT_TRIM_OPERATOR_LEFT:"消除左側空格",TEXT_TRIM_OPERATOR_RIGHT:"消除右側空格",TEXT_TRIM_TOOLTIP:"復制這段文字的同時刪除兩端多余的空格。",TODAY:"今天",UNDO:"撤銷",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"創建“設定%1”",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"返回此變量的值。",VARIABLES_SET:"將變量 %1 設定為 %2",VARIABLES_SET_CREATE_GET:"創建“獲得%1”",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"設置此變量,以使它和輸入值相等。",VARIABLE_ALREADY_EXISTS:"已存在名為“%1”的變量。"};VF.PROCEDURES_DEFRETURN_TITLE=VF.PROCEDURES_DEFNORETURN_TITLE,VF.CONTROLS_IF_IF_TITLE_IF=VF.CONTROLS_IF_MSG_IF,VF.CONTROLS_WHILEUNTIL_INPUT_DO=VF.CONTROLS_REPEAT_INPUT_DO,VF.CONTROLS_IF_MSG_THEN=VF.CONTROLS_REPEAT_INPUT_DO,VF.TRY_EXCEPT_TRY="try",VF.CONTROLS_IF_ELSE_TITLE_ELSE=VF.CONTROLS_IF_MSG_ELSE,VF.CONTROLS_IF_ELSE_TITLE_ELSE=VF.CONTROLS_IF_MSG_ELSE,VF.PROCEDURES_DEFRETURN_PROCEDURE=VF.PROCEDURES_DEFNORETURN_PROCEDURE,VF.LISTS_GET_SUBLIST_INPUT_IN_LIST=VF.LISTS_INLIST,VF.LISTS_GET_INDEX_INPUT_IN_LIST=VF.LISTS_INLIST,VF.PROCEDURES_DEFRETURN_DO=VF.PROCEDURES_DEFNORETURN_DO,VF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=VF.CONTROLS_IF_MSG_ELSEIF,VF.LISTS_GET_INDEX_HELPURL=VF.LISTS_INDEX_OF_HELPURL,VF.CONTROLS_FOREACH_INPUT_DO=VF.CONTROLS_REPEAT_INPUT_DO,VF.LISTS_SET_INDEX_INPUT_IN_LIST=VF.LISTS_INLIST,VF.CONTROLS_FOR_INPUT_DO=VF.CONTROLS_REPEAT_INPUT_DO,VF.LISTS_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.TUPLE_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.DICT_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.SET_CREATE_WITH_ITEM_TITLE=VF.VARIABLES_DEFAULT_NAME,VF.TEXT_APPEND_VARIABLE=VF.VARIABLES_DEFAULT_NAME,VF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=VF.VARIABLES_DEFAULT_NAME,VF.MATH_CHANGE_TITLE_ITEM=VF.VARIABLES_DEFAULT_NAME,VF.LISTS_INDEX_OF_INPUT_IN_LIST=VF.LISTS_INLIST,VF.PROCEDURES_DEFRETURN_COMMENT=VF.PROCEDURES_DEFNORETURN_COMMENT,VF.MPYTHON_MAIN_HELPURL="",VF.MPYTHON_MAIN_TOOLTIP="這個圖形塊不是必須使用。但使用這個圖形塊,能使得程序結構更規整。",VF.MPYTHON_MAIN_MESSAGE0="主程式",VF.MPYTHON_OPEN="開啟",VF.MPYTHON_CLOSE="關閉",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",VF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",VF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",VF.MPYTHON_AI_SENSOR_ENABLE_START="開始抓取圖像",VF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取圖像",VF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平鏡像",VF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻轉",VF.MPYTHON_AI_SENSOR_SETS_CONTRAST="對比度",VF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",VF.MPYTHON_AI_SENSOR_SETS_SATURATION="飽和度",VF.MPYTHON_AI2_FACE_YOLO="人臉識別",VF.MPYTHON_AI2_CLASS_20_YOLO="20類識別",VF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",VF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",VF.TEXT_APPEND_TEXT_HELPURL="",VF.TEXT_APPEND_TEXT_TOOLTIP="",VF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",VF.CHINA_CITY_MESSAGE0="%1 %2",VF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",VF.CHINA_CITY_CNNAME="中文簡稱",VF.CHINA_CITY_PINYIN="拼音",VF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",VF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",VF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",VF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",VF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天氣] %1 信息 %2 地理位置 %3 API私鑰 %4 %5 語言 %6 %7 溫度單位 %8",VF.MPYTHON_SENIVERSE_WEATHER_API_1="天氣實況",VF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天氣預報",VF.MPYTHON_SENIVERSE_WEATHER_API_3="6項生活指數",VF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="攝氏度",VF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="華氏度",VF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",VF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",VF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="設定 %1 為 %2",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天氣] 通用字段 %2",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天氣] 天氣實況 %2",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="風向角度,範圍0~360\n風速,單位km/h(當unit=c時)、mph(當unit=f時)",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天氣] 3天天氣預報 %2 的 %3",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",VF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天氣] 6項生活指數 %2",VF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名稱",VF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",VF.MPYTHON_SENIVERSE_WEATHER_country="國家代碼",VF.MPYTHON_SENIVERSE_WEATHER_path="行政歸屬",VF.MPYTHON_SENIVERSE_WEATHER_timezone="時區",VF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",VF.MPYTHON_SENIVERSE_WEATHER_last_update_date="數據更新日期",VF.MPYTHON_SENIVERSE_WEATHER_last_update="數據更新時間",VF.MPYTHON_SENIVERSE_WEATHER_object="原始字典對象",VF.MPYTHON_SENIVERSE_WEATHER_text="天氣現象",VF.MPYTHON_SENIVERSE_WEATHER_code="天氣現象代碼",VF.MPYTHON_SENIVERSE_WEATHER_temperature="溫度",VF.MPYTHON_SENIVERSE_WEATHER_today="今天",VF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",VF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="後天",VF.MPYTHON_SENIVERSE_WEATHER_date="日期",VF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天氣現象",VF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天氣現象代碼",VF.MPYTHON_SENIVERSE_WEATHER_text_night="晚間天氣現象",VF.MPYTHON_SENIVERSE_WEATHER_code_night="晚間天氣現象代碼",VF.MPYTHON_SENIVERSE_WEATHER_high="當天最高溫度",VF.MPYTHON_SENIVERSE_WEATHER_low="當天最低溫度",VF.MPYTHON_SENIVERSE_WEATHER_wind_direction="風向",VF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="風向角度",VF.MPYTHON_SENIVERSE_WEATHER_wind_speed="風速",VF.MPYTHON_SENIVERSE_WEATHER_wind_scale="風力等級",VF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗車指數",VF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指數",VF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指數",VF.MPYTHON_SENIVERSE_WEATHER_sport="運動指數",VF.MPYTHON_SENIVERSE_WEATHER_travel="旅遊指數",VF.MPYTHON_SENIVERSE_WEATHER_uv="紫外線指數",VF.MPYTHON_RED="紅",VF.MPYTHON_GREEN="綠",VF.MPYTHON_BLUE="藍",VF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射頻卡 讀取電子錢包 數據",VF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="讀取塊數據,長度16位元組",VF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射頻卡 寫入電子錢包 數據%1",VF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="寫入塊數據,長度16位元組",VF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射頻卡 給電子錢包%1 金額%2",VF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",VF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣費",VF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射頻卡 獲取電子錢包餘額",VF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射頻卡 獲取序號",VF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射頻卡 初始化電子錢包",VF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射頻卡 掃描",VF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",VF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",VF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超聲波",VF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",VF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被觸發 引腳%2",VF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",VF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模擬值 引腳%2",VF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",VF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="設置LED燈 輸出%1 引腳%2",VF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循跡傳感器 檢測為黑 引腳%1",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打開 %1 引腳 %2",VF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="關閉 %1 引腳 %2",VF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",VF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",VF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 %2 REC %3 PLAY %4",VF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 %1 REC %2 PLAY %3",VF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",VF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="錄音",VF.MPYTHON_BLUEBIT_IR_RECEIVE="紅外探測",VF.MPYTHON_BLUEBIT_SOUND="麥克風",VF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循跡",VF.MPYTHON_BLUEBIT_VIBRATION="震動",VF.MPYTHON_BLUEBIT_RFID="射頻卡",VF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指紋",VF.MPYTHON_BLUEBIT_PIR="人體感應",VF.MPYTHON_BLUEBIT_MAGNETIC="門磁開關",VF.MPYTHON_BLUEBIT_BUTTON="按鍵",VF.MPYTHON_BLUEBIT_RELAY="繼電器",VF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位開關",VF.MPYTHON_BLUEBIT_FAN="風扇",VF.MPYTHON_BLUEBIT_LASER="激光",VF.MPYTHON_BLUEBIT_NTC_TEMP="熱敏電阻",VF.MPYTHON_BLUEBIT_WATER="水位",VF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤濕度",VF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋鈕電位器",VF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑電位器",VF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模擬光線",VF.MPYTHON_BLUEBIT_LM35_TEMP="LM35溫度",VF.MPYTHON_BLUEBIT_SMOKE="煙霧",VF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正轉",VF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反轉",VF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",VF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤濕度",VF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤濕度(新)%1",VF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",VF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",VF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",VF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",VF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打開風扇 %1",VF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",VF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 關閉風扇 %1",VF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",VF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",VF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",VF.BLUE="A",VF.GREEN="B",VF.RED="C",VF.YELLOW="D",VF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",VF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",VF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",VF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",VF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打開直流電機 %1 %2 速度 %3",VF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",VF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 關閉直流電機",VF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",VF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="編碼電機 模式 %1 撥碼 %2 M1速度 %3 M2速度 %4",VF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",VF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止編碼電機轉動",VF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止編碼電機轉動 %1",VF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",VF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",VF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",VF.MPYTHON_BLUEBIT_TEMPERATURE="溫度",VF.MPYTHON_BLUEBIT_HUMIDITY="濕度",VF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",VF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",VF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",VF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",VF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="設MIDI音量 %1",VF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",VF.MIDI_PIANO="平臺鋼琴",VF.MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",VF.MIDI_ELECTRICGRANDPIANO="電鋼琴",VF.MIDI_HARPSICHORD="大鍵琴",VF.MIDI_CELESTA="鋼片琴",VF.MIDI_GLOCKENSPIEL="鍾琴",VF.MIDI_MUSICALBOX="音樂盒",VF.MIDI_MARIMBA="馬林巴琴",VF.MIDI_XYLOPHONE="木琴",VF.MIDI_TUBULARBELL="管鐘",VF.MIDI_DULCIMER="洋琴",VF.MIDI_VIBRAPHONE="顫音琴",VF.MIDI_ORGAN="音栓風琴",VF.MIDI_ACOUSTIC_GUITAR="木吉他",VF.MIDI_ELECTRIC_GUITAR="電吉他",VF.MIDI_ACOUSTIC_BASS="民謠貝斯",VF.MIDI_STRING_ENSEMBLE="弦樂合奏",VF.MIDI_VIOLIN="小提琴",VF.MIDI_TRUMPET="小號",VF.MIDI_SAX="薩克斯",VF.MIDI_STEEL_DRUMS="鋼鼓",VF.MIDI_LEAD="合成音主旋律",VF.MIDI_PAD="合成音襯底",VF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",VF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="設MIDI樂器 %1",VF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",VF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",VF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音調 %2",VF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",VF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="設點陣亮度等級 %1",VF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",VF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="點陣 %1",VF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",VF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0="設置點陣 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",VF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",VF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",VF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="點陣設置生效",VF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",VF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="設MP3音量 %1",VF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",VF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",VF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚連接音樂模塊的 RXI 引脚",VF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",VF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",VF.MPYTHON_PLUS_1="加1",VF.MPYTHON_MINUS_1="減1",VF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",VF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",VF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",VF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",VF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",VF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="Mp3 單曲循環 %1",VF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",VF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",VF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="設擴展端口 IO %2 為 %1",VF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",VF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",VF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="擴展端口值 IO %1",VF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",VF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",VF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="設擴展端口 IO %2 為 %1",VF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",VF.MPYTHON_LCD_OBJECT_HELPURL="",VF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",VF.MPYTHON_LCD_OBJECT_TOOLTIP="",VF.MPYTHON_LCD_PRINT_HELPURL="",VF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 顯示 %1",VF.MPYTHON_LCD_PRINT_TOOLTIP="",VF.MPYTHON_LCD_HOME_HELPURL="",VF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光標 回到原點",VF.MPYTHON_LCD_HOME_TOOLTIP="",VF.MPYTHON_LCD_CURSOR_HELPURL="",VF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光標 %1",VF.MPYTHON_LCD_CURSOR_TOOLTIP="",VF.MPYTHON_LCD_SET_CURSOR_HELPURL="",VF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始點 行 %2 列 %1",VF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列從0開始計數",VF.MPYTHON_LCD_CLEAR_HELPURL="",VF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",VF.MPYTHON_LCD_CLEAR_TOOLTIP="",VF.MPYTHON_LCD_CURSOR_BLINK="閃爍",VF.MPYTHON_LCD_CURSOR_NO_BLINK="不閃爍",VF.MPYTHON_RIGHT_TO_LEFT="從右向左",VF.MPYTHON_LEFT_TO_RIGHT="從左向右",VF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",VF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",VF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",VF.MPYTHON_LCD_MOVE_HELPURL="",VF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滾動一格",VF.MPYTHON_LCD_MOVE_TOOLTIP="",VF.MPYTHON_IR_TRANS_HELPURL="",VF.MPYTHON_IR_TRANS_MESSAGE0="紅外發送 單字節字符串 %1 tx 引脚 %2",VF.MPYTHON_IR_TRANS_TOOLTIP="\n單字節字符串:\n'A', 'b', '1'等\n",VF.OUTPUT_PIN_HELPURL="",VF.OUTPUT_PIN_MESSAGE0="%1",VF.OUTPUT_PIN_TOOLTIP="",VF.INPUT_PIN_HELPURL="",VF.INPUT_PIN_MESSAGE0="%1",VF.INPUT_PIN_TOOLTIP="",VF.READ_ANALOG_PIN_HELPURL="",VF.READ_ANALOG_PIN_MESSAGE0="%1",VF.READ_ANALOG_PIN_TOOLTIP="",VF.SET_DIGITAL_HELPURL="",VF.SET_DIGITAL_MESSAGE0="%1",VF.SET_DIGITAL_TOOLTIP="",VF.SET_ANALOG_HELPURL="",VF.SET_ANALOG_MESSAGE0="%1",VF.SET_ANALOG_TOOLTIP="",VF.ALL_PIN_HELPURL="",VF.ALL_PIN_MESSAGE0="%1",VF.ALL_PIN_TOOLTIP="",VF.PWM_PIN_HELPURL="",VF.PWM_PIN_MESSAGE0="%1",VF.PWM_PIN_TOOLTIP="",VF.DH11_HUM_TEM_PIN_HELPURL="",VF.DH11_HUM_TEM_PIN_MESSAGE0="%1",VF.DH11_HUM_TEM_PIN_TOOLTIP="",VF.UART_TX_PIN_HELPURL="",VF.UART_TX_PIN_MESSAGE0="%1",VF.UART_TX_PIN_TOOLTIP="",VF.UART_RX_PIN_HELPURL="",VF.UART_RX_PIN_MESSAGE0="%1",VF.UART_RX_PIN_TOOLTIP="",VF.I2C_PIN_HELPURL="",VF.I2C_PIN_MESSAGE0="%1",VF.I2C_PIN_TOOLTIP="",VF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",VF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",VF.MQTT_COMMON_SETUP_TOOLTIP="",VF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",VF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",VF.MQTT_TENCENT_SETUP_TOOLTIP="",VF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",VF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",VF.MQTT_TENCENT_SETUPS_TOOLTIP="",VF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服務器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",VF.MQTT_SETUP_TOOLTIP="",VF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_CONNECT_MESSAGE0="連接 MQTT",VF.MQTT_CONNECT_TOOLTIP="",VF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_PUBLISH_MESSAGE0="發佈 %1 至 主題 %2",VF.MQTT_PUBLISH_TOOLTIP="",VF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_REC_FROM_TOPIC_MESSAGE0="當從主題 %1 接收到 %2 時",VF.MQTT_REC_FROM_TOPIC_TOOLTIP="",VF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_RECEIVE_MESSAGE0="當從主題 %1 接收到 %2 時",VF.MQTT_RECEIVE_TOOLTIP='參數"主題"只接受變量',VF.MQTT_RECEIVED_MESSAGE0="當從主題 %1 接收到消息 時",VF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_MESSAGE_MESSAGE0="從 MQTT 收到的消息",VF.MQTT_MESSAGE_TOOLTIP="",VF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_WAIT_MSG_MESSAGE0="等待主題消息 以 %1 模式",VF.MQTT_WAIT_MSG_TOOLTIP="建議放在'一直重複'中運行",VF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",VF.MQTT_DISCONNECT_MESSAGE0="MQTT 斷開連接",VF.MQTT_DISCONNECT_TOOLTIP="",VF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",VF.MQTT_LAST_WILL_MESSAGE0="設置 MQTT 主題 %2 離綫消息 %1",VF.MQTT_LAST_WILL_TOOLTIP="設置 MQTT last will 消息。應該在 connect() 之前調用。",VF.MPYTHON_SIOT_CONNECT_HELPURL="",VF.MPYTHON_SIOT_CONNECT_TOOLTIP="",VF.MPYTHON_SIOT_CONNECT_MESSAGE0="創建 SIoT 連接 %1 客戶端ID %2 服務器 %3 用戶 %4 密碼 %5",VF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",VF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",VF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 連接成功 ?",VF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",VF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",VF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 訂閱主題",VF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="點擊左邊星號 訂閱 SIoT 主題",VF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 訂閱 主題1",VF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主題",VF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",VF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多訂閱 5 個主題",VF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",VF.MPYTHON_SIOT_DISCONNECT_HELPURL="",VF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",VF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 斷開連接",VF.MPYTHON_SIOT_MESSAGE_HELPURL="",VF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",VF.MPYTHON_SIOT_MESSAGE_MESSAGE0="從 SIoT 收到的消息",VF.MPYTHON_SIOT_TOPIC1="主題1",VF.MPYTHON_SIOT_TOPIC2="主題2",VF.MPYTHON_SIOT_TOPIC3="主題3",VF.MPYTHON_SIOT_TOPIC4="主題4",VF.MPYTHON_SIOT_TOPIC5="主題5",VF.MPYTHON_SIOT_PUBLISH_HELPURL="",VF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",VF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 發送消息 %1 到 %2",VF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 發送消息 %1 到 主題 %2",VF.MPYTHON_SIOT_RECEIVE_HELPURL="",VF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",VF.MPYTHON_SIOT_RECEIVE_MESSAGE0="當從 SIoT %1 收到消息時 %2 執行 %3",VF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="當從 SIoT 主題 %1 收到消息時 %2 執行 %3",VF.MPYTHON_IR_RECV_HELPURL="",VF.MPYTHON_IR_RECV_MESSAGE0="紅外接收 整型 rx 引脚 %1",VF.MPYTHON_IR_RECV_TOOLTIP="第一次接收總爲空",VF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 顯示 %1 x %2 y %3",VF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",VF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",VF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",VF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",VF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",VF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",VF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 顯示圖像 x %1 y %2 寬 %3 高 %4 16進制圖像數據 %5",VF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",VF.mpython_bme280_hum_tem_pre_MESSAGE0="气象 %1",VF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",VF.mpythonbox_sound_MESSAGE0="聲音值",VF.mpythonbox_sound_TOOLTIP="採樣數據,为0~4095。",VF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",VF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",VF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",VF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆電阻採樣值。範圍0~4095。",VF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",VF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按鍵%1",VF.MPYTHONBOX_5BUTTON_TOOLTIP="",VF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",VF.MPYTHONBOX_MOTOR_MESSAGE0="馬達 速度%1",VF.MPYTHONBOX_MOTOR_TOOLTIP="馬達速度,範圍±100。正值表示正轉,負值則反。",VF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",VF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超聲波",VF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超聲波測距,獲取超聲波感測器測距值,組織cm。範圍3~340CM",VF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",VF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人體紅外",VF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人體紅外觸發值。當為1時,表示已觸發;當為0時,表示未觸發。",VF.MPYTHONBOX_RGB_pixel_HELPURL="",VF.MPYTHONBOX_RGB_pixel_MESSAGE0="設定第 %1列 %2行 R%3 G%4 B%5",VF.MPYTHONBOX_RGB_pixel_TOOLTIP="設定第多少列,行的RGB顏色",VF.MPYTHONBOX_RGB_get_pixel_HELPURL="",VF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",VF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB顏色",VF.MPYTHONBOX_RGB_ImageText_HELPURL="",VF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滾動顯示文本%1 速度%2",VF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滾動顯示文字,亮度為0不亮,9最亮",VF.MPYTHONBOX_RGB_SetImage_HELPURL="",VF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",VF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建圖像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",VF.MPYTHONBOX_RGB_Image_HELPURL="",VF.MPYTHONBOX_RGB_Image_MESSAGE0="顯示影像%1",VF.MPYTHONBOX_RGB_Image_TOOLTIP="顯示影像",VF.MPYTHONBOX_RGB_SetImage_HELPURL="",VF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建影像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",VF.MPYTHONBOX_RGB_SetImage_TOOLTIP="創建新影像,每行每位數代表第幾比特燈,默認紅色;亮度為0不亮,9最亮。",VF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="顯示影像/文本 %1",VF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="顯示影像或文字消息。",VF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",VF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="顯示影像 %1",VF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="顯示影像。",VF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",VF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="複製影像 %1",VF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="複製影像。",VF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",VF.MPYTHONBOX_RGB_ImageCot_HELPURL="",VF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪影像%1 列%2 行%3 宽%4 高%5",VF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪影像",VF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="內寘影像 %1",VF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="選擇一個內寘的影像。",VF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移影像 %1 %2 %3 位",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移動影像,並返回移動後的結果。",VF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",VF.MPYTHONBOX_RGB_clear_HELPURL="",VF.MPYTHONBOX_RGB_clear_MESSAGE0="關閉所有 RGB 燈",VF.MPYTHONBOX_RGB_clear_TOOLTIP="",VF.MPYTHONBOX_RGB_pixel_return_HELPURL="",VF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 顏色",VF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",VF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1軸加速度",VF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",VF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1軸角速度",VF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",VF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1歐拉角",VF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回當前歐拉角(Pitch,Roll,Yaw),單位角度",VF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",VF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元數",VF.MPYTHONBOX_QUATERNION_TOOLTIP="返回當前四元數(w,x,y,z)",VF.MPYTHONBOX_CAMERA_LED_HELPURL="",VF.MPYTHONBOX_CAMERA_LED_MESSAGE0="攝像燈%1",VF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led燈,分為打開和關閉兩種狀態",VF.LIST_FIRST_INDEX_HELPURL="",VF.LIST_FIRST_INDEX_MESSAGE0="項 %1 在列表 %2 %3 出現的位置",VF.LIST_FIRST_INDEX_TOOLTIP="",VF.MPYTHON_AI_LCD_INIT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",VF.MPYTHON_AI_LCD_INIT_MESSAGE0="螢幕 初始化 ",VF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 螢幕顯示",VF.MPYTHON_AI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",VF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="監視器 初始化",VF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化單目監視器",VF.MPYTHON_AI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="監視器%1",VF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取影像",VF.MPYTHON_AI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",VF.MPYTHON_AI_LCD_TEXT_MESSAGE0="顯示文字 x %1 y %2 内容 %3",VF.MPYTHON_AI_LCD_TEXT_TOOLTIP="僅支持字母和數位",VF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",VF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="監視器 跳過幀數%1 毫秒%2内的影像",VF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="監視器跳過指定幀數或者跳過指定時間內的影像",VF.MPYTHON_AI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",VF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 監視器 获取%1",VF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)監視器返回参数(宽高,图像帧的格式,图像帧的大小)",VF.MPYTHON_AI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",VF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="監視器 设置%1 为%2",VF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置監視器对比度,亮度,饱和度范围为[-2,+2]",VF.MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",VF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="監視器 自動增益%1",VF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1開啟監視器自動增益0關閉監視器自動增益",VF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",VF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="監視器 白平衡%1",VF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="設定攝像自動白平衡模式,默認打開。True為打開,False為關閉自動白平衡。若您想追跡顏色,則需關閉白平衡。",VF.MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",VF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="監視器 %1 %2",VF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1表示開啟水准鏡像 0表示關閉水准鏡像",VF.MPYTHON_AI_LCD_DISPLAY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",VF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 顯示生效",VF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上顯示",VF.MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",VF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 顯示生效 x%1 y%2 宽%3 高%4",VF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上顯示一張圖片",VF.MPYTHON_AI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="監視器 獲取影像",VF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制監視器捕捉影像",VF.MPYTHON_AI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人臉識別",VF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",VF.MPYTHON_AI_LCD_SHOW_REC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",VF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在影像上繪製矩形",VF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在影像上繪製線條",VF.MPYTHON_AI_LCD_SHOW_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="螢幕 顯示清空",VF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="將液晶屏清空為黑色或者指定的顏色",VF.MPYTHON_AI_LCD_CLEAR_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 顏色",VF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某個座標點的顏色",VF.MPYTHON_AI_LCD_return_colour_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圓形%1 x%2 y%3 半径%4 顏色为 R%5 G%6 B%7 加粗%8",VF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在影像上繪製圓形",VF.MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_TEXT_MOST_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="顯示文字 x %1 y %2 内容 %3 顏色为R%4 G%5 B%6 字号%7",VF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="僅支持字母和數位",VF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字線 x%1 y%2 顏色为R%3 G%4 B%5 尺寸%6 加粗%7",VF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在影像上繪製十字線",VF.MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭頭 x1%1 y1%2 到x2%3 y2%4 顏色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在影像上繪製一個箭頭",VF.MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",VF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL=".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",VF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="顯示影像 路徑%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="顯示影像",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="圖像轉換為%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻轉是將二進位影像0(黑色)變為1(白色),1(白色)變為0(黑色),非常快速地翻轉二進位影像中的所有點數值。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="影像 從笛卡爾座標到%1 座標重新投影 反向%2",VF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",VF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",VF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="影像 膨胀 級別%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨脹就是對影像高亮部分進行“領域擴張”,效果圖擁有比原圖更大的高亮區域。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="影像 中点濾波 級別%1 滤波%2",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制影像混合的最小/最大程度。0只適用於最小濾波,1僅用於最大濾波。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="影像 众数濾波 級別%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在影像上運行眾數濾波,用相鄰點數的模式替換每個點數。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",VF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="影像 模糊滤波 级别%1",VF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式濾波器的標準平均值模糊濾波。",VF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",VF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="影像 卡通化 級別%1 起始點數差异%2 相鄰點數差异%3",VF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",VF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",VF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="影像 3D旋轉 上下旋轉%1 左右旋轉%2 度数%3 左右移动%4 上下移动%5 缩放%6",VF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通過執行幀緩衝區的3D旋轉來糾正影像中的透視問題。",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="將影像的副本保存到SD卡 图像名%1 影像顯示區域 x%2 y%3 宽%4 高%5",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="將影像的副本保存到SD卡",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="創建一個影像對象的副本 複製影像區域 x%1 y%2 宽%3 高%4",VF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="創建一個影像對象的副本",VF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="手寫數位識別",VF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="手寫數位識別",VF.MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",VF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",VF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",VF.MPYTHON_AI_LCD_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",VF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",VF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",VF.MPYTHON_AI_SENSOR_PATTERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",VF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="監視器 初始化 點數模式 %1",VF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用於設定監視器點數模式,有黑白和rgb彩色",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="追跡色塊 顯示%1",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",VF.MPYTHON_AI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 人臉",VF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",VF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 人臉識別",VF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",VF.MPYTHON_AI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(實驗箱)獲取識別後人臉的 所有參數",VF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",VF.MPYTHON_AI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(實驗箱)獲取識別後人臉的 x座標",VF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",VF.MPYTHON_AI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(實驗箱)獲取識別後人臉的 y座標",VF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",VF.MPYTHON_AI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(實驗箱)獲取識別後人臉的 寬度",VF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",VF.MPYTHON_AI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(實驗箱)獲取識別後人臉的 高度",VF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",VF.MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(實驗箱)獲取識別後人臉的 置信度",VF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",VF.MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(實驗箱)獲取識別後人臉的 數量",VF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",VF.MPYTHON_AI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 20類",VF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 20類識別",VF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",VF.MPYTHON_AI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(實驗箱)獲取識別後20類的 所有參數",VF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",VF.MPYTHON_AI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(實驗箱)獲取識別後20類的 x座標",VF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",VF.MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(實驗箱)獲取識別後20類的 y座標",VF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",VF.MPYTHON_AI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(實驗箱)獲取識別後20類的 寬度",VF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",VF.MPYTHON_AI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(實驗箱)獲取識別後20類的 高度",VF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",VF.MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(實驗箱)獲取識別後20類的 置信度",VF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",VF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(實驗箱)獲取識別後20類的 數量",VF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",VF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(實驗箱)獲取識別後20類的 類型",VF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(實驗箱)獲取識別後20類的 類型數量",VF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",VF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(實驗箱)選擇訓練模型 手寫數字",VF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",VF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(實驗箱)調用攝像頭進行 手寫數字識別",VF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",VF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(實驗箱)獲取識別後手寫數字的 所有參數",VF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",VF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(實驗箱)獲取識別後手寫數字的 數字",VF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",VF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(實驗箱)獲取識別後手寫數字的 置信度",VF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",VF.MPYTHON_AI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",VF.MPYTHON_AI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",VF.MPYTHON_AI_IMAGE_LAB_TOOLTIP="image寻找颜色",VF.MPYTHON_AI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",VF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(實驗箱)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",VF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追蹤色塊",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(實驗箱)追蹤色塊 顯示%1",VF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",VF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(實驗箱)%1獲取識別後色塊的 所有參數",VF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 x座標",VF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 y座標",VF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_W_MESSAGE0="(實驗箱)%1獲取識別後色塊的 寬度",VF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_H_MESSAGE0="(實驗箱)%1獲取識別後色塊的 高度",VF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(實驗箱)%1獲取識別後色塊的 數量",VF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心x座標",VF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心y座標",VF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(實驗箱)%1獲取識別後色塊的 矩形",VF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 訓練 %1",VF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",VF.MPYTHON_DRILL_WEIGHT_HELPURL="",VF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",VF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="實例化 線性迴歸直線",VF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",VF.MPYTHON_DRILL_TITLE_HELPURL="",VF.MPYTHON_DRILL_TITLE_MESSAGE0="標題%1 字號%2",VF.MPYTHON_DRILL_TITLE_TOOLTIP="",VF.MPYTHON_DRILL_LABEL_HELPURL="",VF.MPYTHON_DRILL_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",VF.MPYTHON_DRILL_LABEL_TOOLTIP="",VF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",VF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真實數據 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",VF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",VF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",VF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="預測線性迴歸直線 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",VF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",VF.MPYTHON_DRILL_LEGEND_HELPURL="",VF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示圖例",VF.MPYTHON_DRILL_LEGEND_TOOLTIP="",VF.MPYTHON_DRILL_SHOW_HELPURL="",VF.MPYTHON_DRILL_SHOW_MESSAGE0="顯示圖片",VF.MPYTHON_DRILL_SHOW_TOOLTIP="",VF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",VF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="返回對應鍵值%1",VF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",VF.MPYTHON_DRILL_DRILL_full_line="實線",VF.MPYTHON_DRILL_DRILL_dash_line="破折線",VF.MPYTHON_DRILL_DRILL_chain_line="點劃線",VF.MPYTHON_DRILL_DRILL_imaginary_line="虛線",VF.MPYTHON_DRILL_DRILL_dot="點",VF.MPYTHON_DRILL_DRILL_pixel="像素",VF.MPYTHON_DRILL_DRILL_solid_rim="實心圈",VF.MPYTHON_DRILL_DRILL_down_triangle="下三角",VF.MPYTHON_DRILL_DRILL_up_triangle="上三角",VF.MPYTHON_DRILL_DRILL_right_triangle="右三角",VF.MPYTHON_DRILL_DRILL_left_triangle="左三角",VF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",VF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",VF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",VF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",VF.MPYTHON_DRILL_DRILL_solid_square="實心方形",VF.MPYTHON_DRILL_DRILL_solid_pentagon="實心五角",VF.MPYTHON_DRILL_DRILL_star="星形",VF.MPYTHON_DRILL_DRILL_vertical_hexagon="豎六邊形",VF.MPYTHON_DRILL_DRILL_across_hexagon="橫六邊形",VF.MPYTHON_DRILL_DRILL_cross="十字",VF.MPYTHON_DRILL_DRILL_X="X",VF.MPYTHON_DRILL_DRILL_rhombus="菱形",VF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",VF.MPYTHON_DRILL_DRILL_vertical_line="垂直線",VF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鳶尾花數據集",VF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="採用Python的Sklearn機器學習庫中自帶的數據集——鳶尾花數據集。簡單分析數據集之間特徵的關係圖,根據花瓣長度,花瓣寬度,花萼長度,花萼寬度四個特徵進行繪圖虹膜植物數據集可以從龍骨數據集數據集網站獲取,也可以直接從Sklearn。數據集機器學習包得到。數據集共包含4個特徵變量,1個類別變量,共150個有樣本。類別變量分別對應鳶尾花的三個亞屬,分別是山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor)和維吉尼亞鳶尾(Iris-virginica)分別用(0,1,2)來做映射",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鳶尾花 主成分分析",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鳶尾花 因子分析 3D",VF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鳶尾花 因子分析",VF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="預測圖示 鳶尾花類型%1 呈現內容 x%3 y%4 呈現種類%2 顏色爲 r%5 g%6 b%7 標題%8 向上合併%9",VF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="預測圖示 呈現內容 x%1 y%2 呈現種類%3 顏色爲 r%4 g%5 b%6 標題%7",VF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 預測圖示 呈現內容 x朝向%1 y朝向%2 z朝向%3 顏色爲 r%4 g%5 b%6 標題%7",VF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="標題%1 字號%2",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 標題%1 字號%2",VF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 標籤%1 標題%2 字號%3",VF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示圖例",VF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="顯示圖片",VF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",VF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",VF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x, y座標",VF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150條記錄,分別代表50條山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor),維吉尼亞鳶尾(Iris-virginica)",VF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鳶尾",VF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="變色鳶尾",VF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="維吉尼亞鳶尾",VF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散點圖",VF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde圖",VF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱圖",VF.MPYTHONS_FLOWER_DE_LUCE_merge="合並",VF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合並",VF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼長度",VF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼寬度",VF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣長度",VF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣寬度",VF.MPYTHONS_CONVERT_PICTURE_HELPURL="",VF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="將圖片轉換爲28²二值圖%1 待處理的圖片存儲路徑%2 處理後的圖片存儲路徑%3 格式%4",VF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通過串口把WIF傳給語音助手",VF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",VF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手寫數字數 據存儲路徑%1",VF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手寫數字字符庫",VF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",VF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手寫數字圖像 存儲路徑%1",VF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="",VF.MPYTHONS_SHOW_NUMBER_HELPURL="",VF.MPYTHONS_SHOW_NUMBER_MESSAGE0="顯示手寫數字圖像",VF.MPYTHONS_SHOW_NUMBER_TOOLTIP="",VF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",VF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="識別手寫數字圖像 存儲路徑%1",VF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="",VF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",VF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="創建變量%1 初始化 神經網絡張量 變量名%2",VF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",VF.MPYTHON_DRILL_RESHAPE_MESSAGE0="創建變量%1 將輸入照片變量%2 轉換爲 神經網絡輸出張量%3",VF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",VF.MPYTHON_DRILL_RESHAPE_HELPURL="",VF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="創建變量%1 共享變量%2 初始化模式%3",VF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",VF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",VF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="產生截斷正態分佈隨機數 輸出張量%1 標準差%2",VF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",VF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",VF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="創建常量 數值%1 輸出張量%2",VF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",VF.MPYTHON_NUMBER_CONSTANT_HELPURL="",VF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神經網絡輸出張量%1 共享變量%2 步長%3 填充%4",VF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",VF.MPYTHON_NUMBER_CONV2D_HELPURL="",VF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="張量%1",VF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",VF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",VF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷積二維層 變量%1 %2",VF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",VF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",VF.MPYTHON_NUMBER_RELU_MESSAGE0="創建變量%1 Relu正向激勵函數 卷積二維層%2",VF.MPYTHON_NUMBER_RELU_TOOLTIP="",VF.MPYTHON_NUMBER_RELU_HELPURL="",VF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二維層 變量%1 卷積層%2 池化窗口%3 步長%4 填充%5",VF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",VF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",VF.MPYTHON_NUMBER_MATMUL_MESSAGE0="兩個參數的對應元素各自相乘 x%1 y%2",VF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",VF.MPYTHON_NUMBER_MATMUL_HELPURL="",VF.MPYTHON_NUMBER_ADD_MESSAGE0="全連接層 變量%1 兩個參數的元素相加 x%2 y%3",VF.MPYTHON_NUMBER_ADD_TOOLTIP="",VF.MPYTHON_NUMBER_ADD_HELPURL="",VF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="創建變量%1 預測模型準確度 變量名%2",VF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",VF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",VF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="創建變量%1 損失函數%2",VF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",VF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",VF.MPYTHON_NUMBER_LOG_MESSAGE0="自然對數 %1",VF.MPYTHON_NUMBER_LOG_TOOLTIP="",VF.MPYTHON_NUMBER_LOG_HELPURL="",VF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="壓縮求和%1 維度%2",VF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因爲日誌函數是單調遞增的,所以logP (Y | X)也會達到最大值,因此在前面加上負號之後,最大化P (Y | X)就等價於最小化了。",VF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",VF.MPYTHON_NUMBER_TRAIN_MESSAGE0="優化學習速率 %1",VF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",VF.MPYTHON_NUMBER_TRAIN_HELPURL="",VF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="創建變量%1 優化張量%2",VF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",VF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",VF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",VF.MPYTHON_NUMBER_INIT_TOOLTIP="",VF.MPYTHON_NUMBER_INIT_HELPURL="",VF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="選擇 手寫數字集%1 數量%2",VF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",VF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",VF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",VF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",VF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",VF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",VF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",VF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",VF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="預測模型%1 擬合度%2 會話%3",VF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",VF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",VF.MPYTHON_NUMBER_EQUAL_MESSAGE0="兩個張量的每一維是否相等 x%1 y%2",VF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",VF.MPYTHON_NUMBER_EQUAL_HELPURL="",VF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="張量%1 按%2比較返回最大值的索引",VF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",VF.MPYTHON_NUMBER_ARGMAX_HELPURL="",VF.MPYTHON_NUMBER_CAST_MESSAGE0="轉爲浮點型 %1",VF.MPYTHON_NUMBER_CAST_TOOLTIP="",VF.MPYTHON_NUMBER_CAST_HELPURL="",VF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",VF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手寫數字識別模型 變量名%1 存儲路徑%2",VF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手寫數字識別模型保存路徑",VF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",VF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加載模型%1 存儲路徑%2",VF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="",VF.MPYTHONS_NUMBER_SAME="包含邊界",VF.MPYTHONS_NUMBER_VALID="不包含邊界",VF.MPYTHONS_NUMBER_train="訓練",VF.MPYTHONS_NUMBER_test="測試",VF.MPYTHONS_NUMBER_row="行",VF.MPYTHONS_NUMBER_rank="列",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="調用攝像頭 %1",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="調用筆記本內置攝像頭,所以參數爲0,如果有其他的攝像頭可以調整參數爲1,2",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="關閉攝像頭",VF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="刪除所有窗口",VF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加載模型 存儲路徑%1",VF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="從攝像頭讀取圖片",VF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有讀取圖片就真的,否則假;第二個參數是框架,是當前截取一幀的圖片。",VF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="轉爲灰度圖片",VF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="檢測人臉 每次圖像尺寸減小比例%1",VF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",VF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",VF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人臉區域顯示矩形框 顏色爲 紅%1 綠%2 藍%3",VF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存圖像 位置%1 ID%2 編號%3",VF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中顯示圖像 文件名%1",VF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通過esc鍵 退出",VF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置頂時使用纔有效果",VF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",VF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="獲得人臉在圖像中的座標值 人臉%1",VF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否讀取圖片",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打開攝像頭",VF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="獲取照片及id 照片存儲路徑%1",VF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化訓練模型",VF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="開始訓練模型",VF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1訓練模型 存儲路徑%2",VF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人臉模型訓練 數目",VF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口顯示 識別的名字%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",VF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口顯示 識別的置信度%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",VF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="預測人臉 名字%1 置信度%2",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="寫入",VF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="讀取",VF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",VF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",VF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",VF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",VF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",VF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",VF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",VF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",VF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",VF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",VF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",VF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",VF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",VF.Jenny="珍妮",VF.Jack="杰克",VF.Tom="汤姆",VF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",VF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",VF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",VF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",VF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查看训练库 选择%1",VF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",VF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",VF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",VF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",VF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",VF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",VF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",VF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",VF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",VF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",VF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",VF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",VF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",VF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",VF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",VF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",VF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",VF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",VF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",VF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",VF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",VF.MPYTHON_AGESTURE_ARRAY_HELPURL="",VF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",VF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",VF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",VF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",VF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",VF.MPYTHON_GESTURE_READ_LEND_HELPURL="",VF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",VF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",VF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",VF.MPYTHON_GESTURE_SCORE_HELPURL="",VF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",VF.MPYTHON_GESTURE_SCORE_TOOLTIP="",VF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",VF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",VF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",VF.MPYTHON_GESTURE_FORECAST_HELPURL="",VF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",VF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",VF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",VF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",VF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",VF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",VF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",VF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",VF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",VF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",VF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",VF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",VF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",VF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",VF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",VF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",VF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",VF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",VF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",VF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",VF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",VF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",VF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",VF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",VF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",VF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",VF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",VF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",VF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",VF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",VF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="",VF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",VF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",VF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",VF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",VF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸%1 %2",VF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",VF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",VF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",VF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",VF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",VF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",VF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",VF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",VF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",VF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表%1",VF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",VF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",VF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻";VF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",VF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",VF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",VF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="计算总数 排序前%1",VF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",VF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",VF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",VF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",VF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",VF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",VF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",VF.FIRST="第一次",VF.LAST="最后一次",VF.MPYTHON_USOCKET_BLOCK="阻塞",VF.MPYTHON_USOCKET_UNBLOCK="非阻塞",VF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",VF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="設定socket %1 地址 %2 類型 %3",VF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="設定給定通訊端選項的值。所需的符號常數在通訊端模塊中定義(SO_ *等)。該值可以是整數或表示緩衝區的類位元組對象。",VF.MPYTHON_USOCKET_READLINE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",VF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行數據,遇分行符號結束並返回接收數據的對象",VF.MPYTHON_USOCKET_READLINE_TOOLTIP="接收一行數據,遇分行符號結束,並返回接收數據的對象",VF.MPYTHON_USOCKET_READ_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",VF.MPYTHON_USOCKET_READ_MESSAGE0="從socket %1 讀取 %2 字節並返回字節對象",VF.MPYTHON_USOCKET_READ_TOOLTIP="若未給定讀取數量 ,則按照類似 socket.readall() 的模式運行",VF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",VF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="設socket %1 為 %2 模式",VF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",VF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",VF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 設超時時間 %2 秒",VF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",VF.MPYTHON_USOCKET_RECV_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",VF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收並返回接收到的數據對象 最大數據量為 %2",VF.MPYTHON_USOCKET_RECV_TOOLTIP="",VF.MPYTHON_USOCKET_RECVFROM_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",VF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收並返回接收到的數據元組 最大數據量為 %2",VF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元組格式 (bytes, address)",VF.MPYTHON_USOCKET_SENDALL_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",VF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 連續發送%2 並返回發送的位元組數",VF.MPYTHON_USOCKET_SENDALL_TOOLTIP="將所有數據發送到通訊端。通訊端必須連接到遠程通訊端。與send()此不同,此方法將嘗試通過連續發送數據塊來發送所有數據。",VF.MPYTHON_USOCKET_SENDS_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",VF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",VF.MPYTHON_USOCKET_SENDS_TOOLTIP="將數據發送到通訊端。通訊端必須連接到遠程通訊端。返回發送的位元組數,可能小於數據長度(“short write”)。",VF.MPYTHON_USOCKET_SEND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",VF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",VF.MPYTHON_USOCKET_SEND_TOOLTIP="Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",VF.MPYTHON_TEXT_ESC_HELPURL="",VF.MPYTHON_TEXT_ESC_MESSAGE0="文本轉義字元 %1 ",VF.MPYTHON_TEXT_ESC_TOOLTIP="文本轉義字元",VF.MPYTHON_USOCKET_SENDTO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",VF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 發送 %2 到地址 %3",VF.MPYTHON_USOCKET_SENDTO_TOOLTIP="Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",VF.MPYTHON_USOCKET_CONNECT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",VF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 連接 host %2 端口 %3",VF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",VF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",VF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 並返回 ip",VF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需聯網",VF.MPYTHON_USOCKET_ACCEPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",VF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接受連接請求並返回socket元組",VF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收連接請求。socket需要指定地址並監聽連接。返回值是 (conn, address)。\nconn:新的socket對象,可以用來收發消息\naddress:連接到服務器的客戶端地址",VF.MPYTHON_USOCKET_LISTEN_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",VF.MPYTHON_USOCKET_LISTEN_MESSAGE0="監聽socket %1 backlog個數 %2",VF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",VF.MPYTHON_USOCKET_BIND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",VF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 綁定地址 %2 端口 %3",VF.MPYTHON_USOCKET_BIND_TOOLTIP="",VF.MPYTHON_USOCKET_CLOSE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",VF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 關閉",VF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",VF.MPYTHON_USOCKET_INIT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",VF.MPYTHON_USOCKET_INIT_MESSAGE0="創建 socket %1 地址 %2 類型 %3",VF.MPYTHON_USOCKET_INIT_TOOLTIP="AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP流\nSOCK_DGRAM:=2 — UDP數據報\nSOCK_RAW :=3 — 原始套接字\nSO_REUSEADDR : =4 — socket可重用\n",VF.MPYTHON_GET_POST_HELPURL="",VF.MPYTHON_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",VF.MPYTHON_GET_POST_TOOLTIP="",VF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",VF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",VF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",VF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",VF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",VF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 請求網址 %2 文件路徑 %3 Mime類型 %4 附加字段 %5",VF.MPYTHON_RESPONSE_HELPURL="",VF.MPYTHON_RESPONSE_MESSAGE0="響應内容 格式 %1",VF.MPYTHON_RESPONSE_TOOLTIP="",VF.STRING="字符串",VF._BYTE="二进制",VF.TEXT="文本",VF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",VF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="響應屬性 %1",VF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",VF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",VF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右鍵幫助,查看引脚聲明",VF.MPYTHON_SETS_PIN_MODE_MESSAGE0="設置引脚 %1 為 %2 模式 %3 並設置值為 %4",VF.MPYTHON_SET_PIN_IN="輸入",VF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽輸出",VF.MPYTHON_SET_PIN_LEAKY_OUT="開漏輸出",VF.MPYTHON_SET_PIN_NO_PULL="無上下拉",VF.MPYTHON_SET_PIN_DOWN_PULL="下拉",VF.MPYTHON_SET_PIN_UP_PULL="上拉",VF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",VF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="綫程鎖對象 %1 請求鎖",VF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",VF.MPYTHON_START_NEW_THREAD_HELPURL="",VF.MPYTHON_START_NEW_THREAD_MESSAGE0="子綫程 %1",VF.MPYTHON_START_NEW_THREAD_TOOLTIP="",VF.MPYTHON_UART_INIT_HELPURL="",VF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",VF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3組串口。0用於REPL,剩下1,2兩組串口可用。所有引脚皆可作爲串口的輸入RX,除 P2、P3 、P4 、P10 只能作爲輸出,其餘所有的引脚理論上都可作爲輸出 TX。",VF.MPYTHON_UART_DEINIT_HELPURL="",VF.MPYTHON_UART_DEINIT_MESSAGE0="關閉串口 %1",VF.MPYTHON_UART_DEINIT_TOOLTIP="關閉 UART 總線",VF.MPYTHON_UART_WRITE_STR_HELPURL="",VF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 寫入文本 %2 %3",VF.MPYTHON_UART_WRITE_STR_TOOLTIP="將文本寫入總線。\n返回值:寫入或 None 超時的字節數。",VF.MPYTHON_UART_WRITE_HEX_HELPURL="",VF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 發送16進制字符串 %2 %3",VF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",VF.MPYTHON_UART_HAS_DATA_HELPURL="",VF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可讀數據",VF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一個整數,計算可以無阻塞地讀取的字符數。\n如果沒有可用字符,它將返回0,如果有字符,則返回正數。\n即使有多個可讀的字符,該方法也可以返回1。",VF.MPYTHON_UART_READLINE_HELPURL="",VF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 讀取一行數據",VF.MPYTHON_UART_READLINE_TOOLTIP="讀一行,以換行符結尾。\n返回值:讀取行或 None 超時。",VF.MPYTHON_UART_READ_HELPURL="",VF.MPYTHON_UART_READ_MESSAGE0="串口 %1 讀取數據",VF.MPYTHON_UART_READ_TOOLTIP="讀取盡可能多的串口數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",VF.MPYTHON_UART_READ_LENGTH_HELPURL="",VF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 讀取數據 長度 %2",VF.MPYTHON_UART_READ_LENGTH_TOOLTIP="讀取指定長度字節數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",VF.MPYTHON_UART_WRITE_BYTE_HELPURL="",VF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 寫入單字節 %2",VF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="參數為 0~255 的整數\n將字節寫入總線。\n返回值:寫入或 None 超時的字節數。",VF.MPYTHON_UART_WRITE_BYTES_HELPURL="",VF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 寫入字節數組 %2",VF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="將字節數組寫入總線。\n返回值:寫入或 None 超時的字節數。",VF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",VF.TEXT_FORMAT_TOOLTIP="",VF.TEXT_FORMAT_HELPURL="",VF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",VF.TEXT_FORMAT2_TOOLTIP="",VF.TEXT_FORMAT2_HELPURL="",VF.MPYTHON_BAUDRATE_HELPURL="",VF.MPYTHON_BAUDRATE_MESSAGE0="%1",VF.MPYTHON_BAUDRATE_TOOLTIP="",VF.MPYTHON_HIGH_LOW_HELPURL="",VF.MPYTHON_HIGH_LOW_MESSAGE0="%1",VF.MPYTHON_HIGH_LOW_TOOLTIP="",VF.MPYTHON_TEN_CONVERT_TO_HELPURL="",VF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10進制整數 %1 轉化為 %2 字符串",VF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",VF.MPYTHON_BIN="二進制",VF.MPYTHON_OCT="八進制",VF.MPYTHON_HEX="十六進制",VF.MPYTHON_CONVERT_TO_TEN_HELPURL="",VF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 轉 10進制整數",VF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",VF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",VF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10進制整數 %2 轉 %1 字节",VF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",VF.MPYTHON_INT_TO_CHR_HELPURL="",VF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 轉 ASCII 單字符",VF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言",VF.MPYTHON_CHR_TO_INT_HELPURL="",VF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 單字符 %1 轉 整型",VF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",VF.MPYTHON_STR_TO_HEX_HELPURL="",VF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 轉 十六進制 字節",VF.MPYTHON_STR_TO_HEX_TOOLTIP="返回結果中用空格分隔兩個十六進制數",VF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",VF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六進制字符串 %1 轉 二進制 字節",VF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",VF.MPYTHON_DATA_TO_BASE64_HELPURL="",VF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式編碼 返回字節對象",VF.MPYTHON_DATA_TO_BASE64_TOOLTIP="",VF.MPYTHON_BASE64_TO_DATA_HELPURL="",VF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解碼 base64 數據 %1 返回字節對象",VF.MPYTHON_BASE64_TO_DATA_TOOLTIP="",VF.MPYTHON_UJSON_DUMPS_HELPURL="",VF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 轉 json 字符串",VF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",VF.MPYTHON_UJSON_LOADS_HELPURL="",VF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",VF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",VF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",VF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定義終端部件 Terminal 虛擬管脚 V %1",VF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",VF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",VF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虛擬管脚狀態 V %1",VF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",VF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",VF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="當 Blynk 斷開連接時",VF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",VF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",VF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="當 Blynk 連接時",VF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",VF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",VF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="運行 Blynk 定時器進程",VF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",VF.MPYTHON_BLYNK_RUN_HELPURL="",VF.MPYTHON_BLYNK_RUN_MESSAGE0="運行 Blynk 進程",VF.MPYTHON_BLYNK_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",VF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",VF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 顯示通知 %1",VF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",VF.MPYTHON_BLYNKTIMER_HELPURL="",VF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定時器 %1 %2 周期 %3 秒",VF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',VF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",VF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定時器",VF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",VF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",VF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定時器 %1",VF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',VF.MPYTHON_UART_INPUT_HELPURL="",VF.MPYTHON_UART_INPUT_MESSAGE0="從串口獲取文本 提示語句 %1",VF.MPYTHON_UART_INPUT_TOOLTIP="",VF.INT_TO_CHR_HELPURL="",VF.INT_TO_CHR_MESSAGE0="整數 %1 轉 ASCII 單字符",VF.INT_TO_CHR_TOOLTIP="",VF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",VF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="給虛擬管脚添加 屬性 %1 值 %2",VF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放於 read 或 write 事件中,虛擬管脚由事件決定,與該管脚綁定的組件會擁有添加的屬性",VF.MPYTHON_BLYNK_EMAIL_HELPURL="",VF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向預設郵箱發郵件 %1 主題 %2 正文 %3",VF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",VF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",VF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="發送數據 %1 到 Blynk APP 的 虛擬管脚 V %2",VF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虛擬管脚:V0 ~ V255",VF.MPYTHON_BLYNK_SETUP_HELPURL="",VF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 設置 %1 服務器 %2 端口 %3 授權碼 %4",VF.MPYTHON_BLYNK_SETUP_TOOLTIP="服務器可填 blynk-cloud.com 或者 blynk.mpython.cn\n默認端口為 8080\n註意:手機APP訪問端口為 9443",VF.MPYTHON_BLYNK_APP_DATA_HELPURL="",VF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="當 從 Blynk APP 收到 虛擬管腳 V %1 的值 %2 時",VF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虛擬管脚:V0 ~ V255",VF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="當 收到 Blynk 虛擬管腳 V %1 的值",VF.MPYTHON_BLYNK_VALUE_MESSAGE0="從 Blynk 收到的值",VF.MPYTHON_BLYNK_VALUE_TOOLTIP="",VF.MPYTHON_BLYNK_VALUE_HELPURL="",VF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 斷開連接",VF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",VF.MPYTHON_ONENET_DISCONNECT_HELPURL="",VF.MPYTHON_ONENET_MSG_MESSAGE0="從 OneNET 收到的消息",VF.MPYTHON_ONENET_MSG_TOOLTIP="",VF.MPYTHON_ONENET_MSG_HELPURL="",VF.MPYTHON_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 %1 時",VF.MPYTHON3_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 時",VF.MPYTHON_ONENET_RECV_TOOLTIP="",VF.MPYTHON_ONENET_RECV_HELPURL="",VF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="當 從 OneNET 收到特定消息 %1 時",VF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",VF.MPYTHON_ONENET_RECV_MSG_HELPURL="",VF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 發送數據流 名稱 %1 值 %2",VF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",VF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",VF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 發送數據流 %1",VF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",VF.MPYTHON_ONENET_PUB_DICT_HELPURL="",VF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 發送數據流 名稱 %1 值 %2",VF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",VF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",VF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",VF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超聲波距離 測量單位 %2",VF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",VF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",VF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超聲波(mm)",VF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",VF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",VF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超聲波初始化 名稱 %1 trigger %2 echo %3",VF.MPYTHON_HCSR04_OBJ_TOOLTIP="",VF.MPYTHON_PM2_5_MIC_HELPURL="",VF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值濃度%2",VF.MPYTHON_PM2_5_MIC_TOOLTIP="",VF.MPYTHON_PM2_5_LitresAir_HELPURL="",VF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1昇空氣中直徑在%2 顆粒物個數",VF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",VF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="當 紅外接收端 %1 收到消息時 %2 執行 %3",VF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="紅外回調地址",VF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="紅外接收內容",VF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="紅外接收 %1 回調地址 %2 回調命令 %3",VF.MPYTHON_IR_REMOTE_RECV_HELPURL="",VF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",VF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="紅外發送 %1 地址 %2 命令 %3",VF.MPYTHON_IR_REMOTE_SEND_HELPURL="",VF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",VF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",VF.MPYTHON_ONENET="OneNET 設置",VF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",VF.MPYTHON_ONENET_OPTION_BOARDS="可選掌控板",VF.MPYTHON_ONENET_TITLE="OneNET",VF.MPYTHON_SERVER="服務器",VF.MPYTHON_DEVICE_ID="設備ID",VF.MPYTHON_PRODUCT_ID="產品ID",VF.MPYTHON_API_KEY="產品APIKey",VF.MPYTHON_ONENET_CALLBACK="回調函數",VF.MPYTHON_TOPIC="主題",VF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回調函數",VF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",VF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 選擇掌控板應用 %1",VF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",VF.TEXT_TO_BYTE_MESSAGE0="轉字節 %1",VF.TEXT_TO_BYTE_TOOLTIP="支持數據類型:string",VF.TEXT_TO_BYTE_HELPURL="",VF.OTHER_TO_BYTE_MESSAGE0="非文本轉字節 %1",VF.OTHER_TO_BYTE_TOOLTIP="",VF.OTHER_TO_BYTE_HELPURL="",VF.MPYTHON_BYTES_DECODE_HELPURL="",VF.MPYTHON_BYTES_DECODE_MESSAGE0="字節 %1 轉 字符串",VF.MPYTHON_BYTES_DECODE_TOOLTIP="",VF.MPYTHON_ONENET_TOOLTIP="創建OneNET連接",VF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物聯網 確保連接到 Wi-Fi 名稱 %1 密碼 %2",VF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",VF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",VF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",VF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="儅從小程序收到消息 %1 和 %2 時",VF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",VF.MPYTHON_MAC_ADDRESS_HELPURL="",VF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",VF.MPYTHON_MAC_ADDRESS_TOOLTIP="",VF.MPYTHON_RADIO_REC_HELPURL="",VF.MPYTHON_RADIO_REC_MESSAGE0="無綫廣播 接收消息",VF.MPYTHON_RADIO_REC_TOOLTIP="所接收為字節型",VF.MPYTHON_RADIO_SEND_HELPURL="",VF.MPYTHON_RADIO_SEND_MESSAGE0="無綫廣播 發送 %1",VF.MPYTHON_RADIO_SEND_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_CHANNEL_HELPURL="",VF.MPYTHON_RADIO_CHANNEL_MESSAGE0="設無綫廣播 頻道為 %1",VF.MPYTHON_RADIO_CHANNEL_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_ON_OFF_HELPURL="",VF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 無綫廣播",VF.MPYTHON_RADIO_ON_OFF_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_MSG_MESSAGE0="收到的無線廣播消息",VF.MPYTHON_RADIO_MSG_TOOLTIP="",VF.MPYTHON_RADIO_MSG_HELPURL="",VF.MPYTHON3_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 時 %1 執行 %2",VF.MPYTHON_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 %1 時",VF.MPYTHON_RADIO_RECV_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_RECV_HELPURL="",VF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="當 收到特定無線廣播消息 %1 時 %2 執行 %3",VF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="頻道: 1~13",VF.MPYTHON_RADIO_RECV_MSG_HELPURL="",VF.MPYTHON_UDP_INIT_HELPURL="",VF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 連接",VF.MPYTHON_UDP_INIT_TOOLTIP="UDP連接基於Wi-Fi",VF.MPYTHON_UDP_SEND_HELPURL="",VF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群發消息 %1",VF.MPYTHON_UDP_SEND_TOOLTIP="",VF.MPYTHON_UDP_SENDTO_HELPURL="",VF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 發送消息 %1 到 %2 端口 %3",VF.MPYTHON_UDP_SENDTO_TOOLTIP="",VF.MPYTHON_UDP_RECV_HELPURL="",VF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",VF.MPYTHON_UDP_RECV_TOOLTIP="",VF.MPYTHON_UDP_RECV_EVENT_HELPURL="",VF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="當從 UDP 收到消息時 %1 執行 %2",VF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",VF.MPYTHON_UDP_RECV_MSG_MESSAGE0="從 UDP 收到的消息",VF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",VF.MPYTHON_UDP_RECV_MSG_HELPURL="",VF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鳥叫",VF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="鋼琴黑暗旋律配樂",VF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="貓叫",VF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",VF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="渾厚的打擊音",VF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="緊張效果的音效",VF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快門聲",VF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="數百只蒼蠅",VF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫聲",VF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="搖晃低音聲線",VF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="聽眾歡呼掌聲",VF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="郵輪汽笛",VF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="現代電話鈴聲",VF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔蘿蔔",VF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="兩只老虎",VF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",VF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="設音頻音量 %1",VF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",VF.MPYTHON_DISPCHAR_MODE_1="普通",VF.MPYTHON_DISPCHAR_MODE_2="反轉",VF.MPYTHON_DISPCHAR_MODE_3="透明",VF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",VF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 語音播放 %1",VF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 訊飛開放平臺 www.xfyun.cn 上開通“在線語音合成”服務",VF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",VF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 語音配置 APPID %1 APIKey %2",VF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="輸入在 訊飛開放平臺 www.xfyun.cn 獲取的 APPID 與 APIKey\n註意:要設置IP白名單",VF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",VF.MPYTHON_AUDIO_PLAY_MESSAGE0="音頻 播放 %1",VF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",VF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",VF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音頻 播放 %1",VF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",VF.MPYTHON_AUDIO_DEINIT_HELPURL="",VF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音頻 釋放緩存",VF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",VF.MPYTHON_AUDIO_CMD_HELPURL="",VF.MPYTHON_AUDIO_CMD_MESSAGE0="音頻 %1",VF.MPYTHON_AUDIO_CMD_TOOLTIP="",VF.MPYTHON_AUDIO_INIT_HELPURL="",VF.MPYTHON_AUDIO_INIT_MESSAGE0="音頻 初始化",VF.MPYTHON_AUDIO_INIT_TOOLTIP="為音頻解碼開闢緩存",VF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",VF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="開始錄音 錄音時長%1秒",VF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本,錄音時長不能超過5秒",VF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",VF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="錄音結果",VF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",VF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",VF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="將 %1 進行識別",VF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",VF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",VF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="識別錄音結果",VF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",VF.MPYTHON_RECORD_INIT_HELPURL="",VF.MPYTHON_RECORD_INIT_MESSAGE0="錄音 初始化",VF.MPYTHON_RECORD_INIT_TOOLTIP="錄音初始化。\n需要掌控板v1.1以上硬件版本。",VF.MPYTHON_RECORD_DEINIT_HELPURL="",VF.MPYTHON_RECORD_DEINIT_MESSAGE0="錄音 釋放資源",VF.MPYTHON_RECORD_DEINIT_TOOLTIP="錄音結束後釋放資源。\n需要掌控板v1.1以上硬件版本。",VF.MPYTHON_RECORD_WAV_HELPURL="",VF.MPYTHON_RECORD_WAV_MESSAGE0="錄制音頻 存儲路徑 %1 時長 %2 秒",VF.MPYTHON_RECORD_WAV_TOOLTIP="錄制音頻,並以 WAV 格式存儲。\n需要掌控板v1.1以上硬件版本。",VF.MPYTHON_ASR_HELPURL="",VF.MPYTHON_ASR_MESSAGE0="識別 %1 秒語音指令",VF.MPYTHON_ASR_TOOLTIP="可以識別3秒內的語音指令。\n需要掌控板v1.1以上硬件版本。",VF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_button_A="P5(按鍵A)",VF.mpython_button_B="P11(按鍵B)",VF.mpython_PIN7_RGB="P7(板載RGB)",VF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",VF.MPYTHON_PWM_PIN_P9="P9 (掌控實驗箱)",VF.mpython_tem="溫度",VF.mpython_hum="濕度",VF.mpython_pre="氣壓",VF.mpython_left_right="左右",VF.MPYTHON_LEFT="左",VF.MPYTHON_RIGHT="右",VF.mpython_front_back="前後",VF.mpython_vertical="垂直",VF.mpython_horizontal="水平",VF.mpython_run_in_back="後臺運行",VF.mpython_run_in_front="前臺運行",VF.mpython_draw="繪制",VF.mpython_clear="清除",VF.mpython_s="秒",VF.mpython_ms="毫秒",VF.mpython_us="微秒",VF.mpython_year="年",VF.mpython_month="月",VF.mpython_date="日",VF.mpython_hour="時",VF.mpython_minute="分",VF.mpython_week="星期數",VF.mpython_days="天數",VF.MPYTHON_ORDER="第",VF.MPYTHON_REVERSE_ORDER="倒數第",VF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定遞增基數集合中的一個隨機數,基數缺省值為1",VF.MATH_RANDOM_RANDRANGE_MESSAGE0="隨機數 從遞增區間 [%1 ,%2) 遞增步長%3",VF.MATH_KEEP_DECIMAL_HELPURL="",VF.MATH_KEEP_DECIMAL_TOOLTIP="",VF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小數",VF.MPYTHON_MIN="最小值",VF.MPYTHON_MAX="最大值",VF.MPYTHON_LENTH="長度",VF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.TUPLE_MIN_MAX_LEN_TOOLTIP="",VF.TUPLE_MIN_MAX_LEN_MESSAGE0="元組 %1 %2",VF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.TUPLE_ITEM_EXIST_TOOLTIP="",VF.TUPLE_ITEM_EXIST_MESSAGE0="元組%1 包含%2",VF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LIST_ITEM_EXIST_TOOLTIP="",VF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",VF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.PARTS_OF_TUPLE_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.PARTS_OF_TUPLE_MESSAGE0="返回元組%1 取第%2 項到尾項",VF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.PARTS_OF_TUPLE2_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",VF.PARTS_OF_TUPLE2_MESSAGE0="返回元組%1 取%2 %3 項到 %4 %5 項",VF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.PARTS_OF_LIST_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",VF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 項到 %4 %5 項",VF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LIST_TO_TUPLE_TOOLTIP="",VF.LIST_TO_TUPLE_MESSAGE0="列表%1 轉元組",VF.tuple_create_with_MESSAGE0="定義元組 %1 = %2 ",VF.tuple_create_with_TOOLTIP="只包含一個元素時,需要在元素後面添加逗號",VF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.tuple_order_item_MESSAGE0="元組%1 %2 %3 項",VF.tuple_order_item_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 項",VF.LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_LIST_ORDER_ITEM_MESSAGE0="設列表%1 %2 %3 項為%4",VF.SET_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 項為%4",VF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_TUPLE_ORDER_ITEM_MESSAGE0="設元組%1 %2 %3 項為%4",VF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_CREATE_WITH_TOOLTIP="",VF.DICT_CREATE_WITH_MESSAGE0="定義字典 %1 = %2",VF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_CREATE_WITH_TOOLTIP="",VF.SET_CREATE_WITH_MESSAGE0="定義集合 %1 = %2",VF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_UPDATE_WITH_TOOLTIP="添加參數可為字符串、列表、元組、集合、字典(只添加key),已有元素則不進行操作",VF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",VF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.INTERSECTION_OF_SETS_TOOLTIP="",VF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",VF.MPYTHON_INTERSECTION="交集",VF.MPYTHON_UNION="並集",VF.MPYTHON_DIFFERENCE="差集",VF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SETS_UPDATE_WAYS_TOOLTIP="",VF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新為 與集合 %2 的 %3",VF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SUBSET_SUPERSET_TOOLTIP="",VF.SUBSET_SUPERSET_MESSAGE0="集合 %1 為集合 %2 的 %3",VF.MPYTHON_SUBSET="子集",VF.MPYTHON_SUPERSET="超集",VF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.LEN_OF_SETS_TOOLTIP="",VF.LEN_OF_SETS_MESSAGE0="集合 %1 長度",VF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.GET_SETS_POP_TOOLTIP="",VF.GET_SETS_POP_MESSAGE0="返回隨機項並移除之 從集合 %1",VF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.CREATE_EMPTY_SET_TOOLTIP="",VF.CREATE_EMPTY_SET_MESSAGE0="創建空集合 %1",VF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.BIT_INVERSION_TOOLTIP="對數據的每個二進制位取反",VF.BIT_INVERSION_MESSAGE0="二進制取反 %1",VF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="項可為字符串、已賦值變量、元組",VF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",VF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_KEY_VALUE_TOOLTIP="",VF.DICT_KEY_VALUE_MESSAGE0="字典%1 鍵%2 的值",VF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.ADD_DICT_KEY_VALUE_TOOLTIP="已有該鍵則更新該鍵",VF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加鍵%2 值%3",VF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_LENGTH_TOOLTIP="",VF.DICT_LENGTH_MESSAGE0="字典%1 長度",VF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_KEY_EXIST_TOOLTIP="",VF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含鍵%2",VF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",VF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",VF.DICT_KEYS="鍵",VF.DICT_VALUES="值",VF.mpython_lists_append_MESSAGE0="列表%1 末尾添加項%2",VF.mpython_lists_append_TOOLTIP="",VF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",VF.mpython_lists_extend_TOOLTIP="",VF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_lists_clear_MESSAGE0="列表%1 清空",VF.mpython_lists_clear_TOOLTIP="",VF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重複",VF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",VF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_Timer_value_MESSAGE0="定時器 %1 的計數值",VF.mpython_Timer_value_TOOLTIP="獲取並返回計時器當前計數值",VF.mpython_Timer_deinit_MESSAGE0="清除 定時器/事件 %1",VF.mpython_Timer_deinit_TOOLTIP="取消定時器的初始化。停止計時器,並禁用計時器外圍設備",VF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",VF.mpython_Interrupt_AB_TOOLTIP="",VF.mpython_Interrupt_AB_MESSAGE0="當按鍵 %1 被 %2 時",VF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",VF.mpython_Interrupt_pin_TOOLTIP="上升沿觸發:由低電平到高電平;下降沿觸發:由高電平到低電平",VF.mpython_Interrupt_pin_MESSAGE0="當引腳 %1 電平 %2 時",VF.mpython_Interrupt_pin_IRQ_FALLING="↘ 從高到低",VF.mpython_Interrupt_pin_IRQ_RISING="↗ 從低到高",VF.mpython_IRQ_FALLING="按下",VF.mpython_IRQ_RISING="松開",VF.mpython_PERIODIC="重復執行",VF.mpython_ONE_SHOT="延時執行",VF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",VF.MPYTHON_IS_SHAKED_HELPURL="",VF.MPYTHON_IS_SHAKED_TOOLTIP="",VF.MPYTHON_IS_SHAKED="被搖晃",VF.MPYTHON_IS_THROWN="被拋起",VF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="當掌控板 %1 時",VF.MPYTHON_SHAKE_DETECTOR_HELPURL="",VF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",VF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",VF.MPYTHON_IS_TILTED_HELPURL="",VF.MPYTHON_IS_TILTED_TOOLTIP="",VF.MPYTHON_TILT_DETECTOR_MESSAGE0="當掌控板 %1 時",VF.MPYTHON_TILT_DETECTOR_HELPURL="",VF.MPYTHON_TILT_DETECTOR_TOOLTIP="",VF.MPYTHON_DIRECTION_FORWARD="向前傾斜",VF.MPYTHON_DIRECTION_BACK="向後傾斜",VF.MPYTHON_DIRECTION_RIGHT="向右傾斜",VF.MPYTHON_DIRECTION_LEFT="向左傾斜",VF.MPYTHON_DIRECTION_NONE="平放",VF.MPYTHON_TOUCH_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",VF.MPYTHON_TOUCH_EVENT_HELPURL="",VF.MPYTHON_TOUCH_EVENT_TOOLTIP="",VF.MPYTHON_TOUCH_EVENT_PRESSED="觸摸",VF.MPYTHON_TOUCH_EVENT_UNPRESSED="釋放",VF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 當 %2 時",VF.MPYTHON_CUSTOM_EVENT_HELPURL="",VF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定義事件與定時器共用 1/2/4/7/8/9/10,不可同時占用一個端口。\n最大同時創建4個事件/定時器,如果存在沖突,請嘗試換一個編號。",VF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_music_range_pitch_TOOLTIP="時長為單個頻率的時長",VF.mpython_music_range_pitch_MESSAGE0="播放音調 從%1 到%2 步長%3 時長%4 毫秒 引脚 %5",VF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_neopixel_init_TOOLTIP="",VF.mpython_neopixel_init_MESSAGE0="燈帶初始化 名稱%1 引腳%2 數量%3",VF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",VF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹燈效 燈帶%1 數量 %2 亮度 %3 偏移 %4",VF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",VF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度調節, 範圍 0 ~ 100",VF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="燈帶 %1 設置亮度為 %2",VF.mpython_neopixel_single_TOOLTIP="",VF.mpython_neopixel_single_MESSAGE0="燈帶%1 %2號 紅%3 綠%4 藍%5",VF.mpython_neopixel_single_gui_MESSAGE0="燈帶 %1 %2號 顏色為 %3",VF.mpython_neopixel_single_gui_TOOLTIP="",VF.mpython_neopixel_show_TOOLTIP="",VF.mpython_neopixel_show_MESSAGE0="燈帶%1 設置生效",VF.mpython_neopixel_off_TOOLTIP="",VF.mpython_neopixel_off_MESSAGE0="燈帶%1 關閉",VF.mpython_neopixel_all_TOOLTIP="",VF.mpython_neopixel_all_MESSAGE0="燈帶%1 全亮 紅%2 綠%3 藍%4",VF.mpython_neopixel_all_gui_TOOLTIP="",VF.mpython_neopixel_all_gui_MESSAGE0="燈帶%1 全亮 顏色%2",VF.mpython_image_to_oled_MESSAGE0="打開圖片 %1 寬 %2 高 %3",VF.mpython_image_to_oled_TOOLTIP="",VF.mpython_time_localtime_MESSAGE0="本地時間 %1",VF.mpython_time_localtime_TOOLTIP="星期數:返回0~6,周一為0,周日為6\n天數:獲取當前日期是一年中的第幾天\n建議先連接wifi並獲取網絡時間",VF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",VF.mpython_WiFi_config_TOOLTIP="netmask-子網掩碼;gateway-網關",VF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",VF.mpython_time_ticks_MESSAGE0="運行時間 %1",VF.mpython_time_ticks_TOOLTIP="",VF.MPYTHON_TIMER_DEF_MESSAGE0="定義定時器 %1",VF.MPYTHON_TIMER_INIT_MESSAGE0="啟動定時器 %1 %2 周期 %3 毫秒",VF.mpython_Timer_MESSAGE0="設置定時器 %1 %2 周期 %3 毫秒",VF.mpython_Timer_TOOLTIP="創建定時器n,n=1-14。\n最大同時創建4個定時器,如果存在沖突,請嘗試換一個編號。\n3用於內部程序,\n5/6用於伺服系統和ADC,\n11用於搖晃檢測,\n12用於觸摸鍵檢測,\n13用於Radio和DHT11/DHT22定時取值(共用),\n14用於OneNET和傾斜檢測(共用),\n其余端口與自定義事件共用。",VF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",VF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",VF.mpython_bme280_hum_tem_pre_TOOLTIP="氣壓單位Pa, 溫度單位攝氏度, 環境濕度單位%",VF.mpython_sway_xyz_MESSAGE0="%1 搖晃掌控板",VF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,觸摸鍵 'python' 靠近使用者,開始左右或前後搖晃掌控板",VF.mpython_init_bluetooth_MESSAGE0="初始化 藍牙名稱%1",VF.mpython_init_bluetooth_TOOLTIP="初始化 藍牙名稱",VF.mpython_OnOff_bluetooth_MESSAGE0="藍牙設備%1廣播",VF.mpython_OnOff_bluetooth_TOOLTIP="藍牙設備 開啟或關閉廣播",VF.mpython_HID_consumer_bluetooth_MESSAGE0="消費類設備%1 狀態%2",VF.mpython_HID_consumer_bluetooth_TOOLTIP="類比HID消費類設備的控制器,如藍牙遙控器",VF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="鍵盤 釋放按鍵",VF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="HID鍵盤設備",VF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠標%1",VF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠標設備",VF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠標 釋放按鍵",VF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠標設備",VF.mpython_HID_keyboard_bluetooth_MESSAGE0="鍵盤 按鍵%1",VF.mpython_HID_keyboard_bluetooth_TOOLTIP="鍵盤設備",VF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="HID設備按鍵 %1 組合按鍵%2",VF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",VF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="滑鼠 指標移動 x%2 y%1",VF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标坐标x,y轴的相对位移,范围-1023 ~ 1023",VF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="設備 按鍵 %1 組合按鍵%2",VF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="鍵盤設備",VF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="鍵盤 组合設備%1",VF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",VF.mpython_HID_keyboard_part_bluetooth_HELPURL="",VF.mpython_init_wifi_MESSAGE0="連接 Wi-Fi 名稱 %1 密碼 %2",VF.mpython_init_wifi_TOOLTIP="讓掌控板接入Wi-Fi環境",VF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 設置固定IP %1 IP 地址 %2 子網掩碼 %3 默認網關 %4 DNS %5",VF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",VF.MPYTHON_WIFI_IFCONFIG_HELPURL="",VF.mpython_dis_WiFi_MESSAGE0="斷開 Wi-Fi 連接",VF.mpython_dis_WiFi_TOOLTIP="",VF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",VF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密碼可以為空,或者8位以上的字母或數字。\nAP模式僅用於掌控板之間的相互通信,不可以作為熱點,令其它設備上網。",VF.MPYTHON_ENABLE_APWIFI_MESSAGE0="開啟 AP模式 名稱 %1 密碼 %2 信道 %3",VF.mpython_disable_APWiFi_MESSAGE0="關閉 AP模式",VF.mpython_disable_APWiFi_TOOLTIP="",VF.mpython_ntptime_settime_MESSAGE0="同步網絡時間 時區 %1 授時服務器 %2",VF.mpython_ntptime_settime_TOOLTIP="NTP時間同步是一種時間同步網絡技術",VF.mpython_wifi_get_date_MESSAGE0="獲取當前日期",VF.mpython_wifi_get_date_TOOLTIP="獲取當前日期字符串 示例:2020年12月12日",VF.mpython_wifi_get_time_MESSAGE0="獲取當前時間",VF.mpython_wifi_get_time_TOOLTIP="獲取當前時間字符串",VF.mpython_ntptime_timezone_E1="東1區",VF.mpython_ntptime_timezone_E2="東2區",VF.mpython_ntptime_timezone_E3="東3區",VF.mpython_ntptime_timezone_E4="東4區",VF.mpython_ntptime_timezone_E5="東5區",VF.mpython_ntptime_timezone_E6="東6區",VF.mpython_ntptime_timezone_E7="東7區",VF.mpython_ntptime_timezone_E8="東8區",VF.mpython_ntptime_timezone_E9="東9區",VF.mpython_ntptime_timezone_E10="東10區",VF.mpython_ntptime_timezone_E11="東11區",VF.mpython_ntptime_timezone_E12="東12區",VF.mpython_ntptime_timezone_0="中時區",VF.mpython_ntptime_timezone_W1="西1區",VF.mpython_ntptime_timezone_W2="西2區",VF.mpython_ntptime_timezone_W3="西3區",VF.mpython_ntptime_timezone_W4="西4區",VF.mpython_ntptime_timezone_W5="西5區",VF.mpython_ntptime_timezone_W6="西6區",VF.mpython_ntptime_timezone_W7="西7區",VF.mpython_ntptime_timezone_W8="西8區",VF.mpython_ntptime_timezone_W9="西9區",VF.mpython_ntptime_timezone_W10="西10區",VF.mpython_ntptime_timezone_W11="西11區",VF.mpython_ntptime_timezone_W12="西12區",VF.FILE_TO_LIST_HELPURL="",VF.FILE_TO_LIST_TOOLTIP="讀出指定路徑的文本文件內容(僅限utf-8格式),並轉為列表形式,以分隔符分隔。",VF.FILE_TO_LIST_MESSAGE0="讀取文本文件 %1 為列表 ,以 %2 分隔",VF.FILE_TO_BIN_HELPURL="",VF.FILE_TO_BIN_TOOLTIP="以二進制格式讀出指定路徑的文件內容。",VF.FILE_TO_BIN_MESSAGE0="讀取文件 %1 的二進制內容",VF.MPYTHON_INIT_FILE_HELPURL="",VF.MPYTHON_INIT_FILE_TOOLTIP="初始化一個文本文件,如果文件不存在則創建文件,如果文件存在則清空內容。",VF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",VF.MPYTHON_WRITE_FILE_HELPURL="",VF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路徑的文本文件寫入內容,如果文件不存在則創建文件。",VF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 寫入內容 %2 ,以 %3 分隔",VF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",VF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n須確保 SPI 總線的引腳與 micro SD 卡物理連接正確,並預先使用 FAT 或 FAT32 文件系統格式化 micro SD 卡。",VF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",VF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",VF.MPYTHON_SDCARD_MOUNT_TOOLTIP="掛載 SDCard 到指定路徑。",VF.MPYTHON_SDCARD_MOUNT_MESSAGE0="掛載 SD 卡到路徑 %1",VF.MPYTHON_ENTER="回車",VF.MPYTHON_COMMA="逗號",VF.MPYTHON_SEMICOLON="分號",VF.MPYTHON_SPACE="空格",VF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模擬時鐘 x %1 y %2 半徑 %3",VF.mpython_wifi_clock_TOOLTIP="需連接 Wi-Fi 使用",VF.mpython_def_clock_MESSAGE0="初始化時鐘%1 x %2 y %3 半徑 %4",VF.mpython_def_clock_TOOLTIP="",VF.mpython_settime_clock_MESSAGE0="時鐘%1 讀取時間",VF.mpython_settime_clock_TOOLTIP="",VF.mpython_draw_clear_clock_MESSAGE0="%1 時鐘 %2",VF.mpython_draw_clear_clock_TOOLTIP="",VF.mpython_tinywebio_start_MESSAGE0="啟動 TinyWebIO 服務 %1",VF.mpython_tinywebio_start_TOOLTIP="啟動該服務需連接Wi-Fi,TinyWebIO服務為App Inventor應用提供遠程控制接口的掌控板工具包",VF.mpython_tinywebio_client_setup_HELPURL="",VF.mpython_tinywebio_client_setup_TOOLTIP="向服務器發布的數據項(逗號分隔)\nbuttona/b 按鍵狀態\ntouchpadp/y/t/h/o/n 觸摸按鍵值\nlight 光線值\nsound 聲音值\naccelerometer 三軸加速度值\nid 掌控板標識\ntime 時間戳\npind 數字IO引腳\npina 模擬IO引腳\n----------\n從服務器讀取的數據項(逗號分隔)\nrgb0/1/2 RGB燈珠\noled OLED顯示屏\nmusic 音樂\nservo 舵機\npind 數字IO引腳\npina 模擬IO引腳",VF.mpython_tinywebio_client_setup_MESSAGE0="設置 TinyWebIO 客戶端參數 %1 TinyWebDB服務器地址 %2 向服務器發布的數據項 %3 從服務器讀取的數據項 %4 存取服務器的時間間隔(ms) %5",VF.mpython_tinywebio_client_action_HELPURL="",VF.mpython_tinywebio_client_action_TOOLTIP="",VF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客戶端",VF.mpython_tinywebio_client_action_start="啟動",VF.mpython_tinywebio_client_action_stop="停止",VF.MPYTHON_CUSTOM_CODE_HELPURL="",VF.MPYTHON_CUSTOM_CODE_TOOLTIP="",VF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定義代碼 %2 %3",VF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定義返回值 %1",VF.MPYTHON_CUSTOM_TYPE_IMPORT="置頂",VF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",VF.mpython_servo_angle0_MESSAGE0="設置舵機 %1 角度為 %2",VF.mpython_servo_angle_MESSAGE0="設置舵機 %1 角度為 %2 脈寬從 %3 到 %4 最大角度 %5",VF.mpython_servo_angle_TOOLTIP="電源線Vcc(紅色)連接拓展板電源口V,地線GND(棕色)連接拓展板地線口G,控制信號線(橙色)連接所選的拓展板引腳",VF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",VF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",VF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 連接拓展板的電源口 V ,- 連接拓展板的地線口 G ,out 連接拓展板的引腳 0(即選引腳)",VF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",VF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",VF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",VF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",VF.mpython_music_note_TOOLTIP="音符,如C4:4",VF.mpython_return_list_MESSAGE0="定義列表 %1 = %2",VF.mpython_return_list_TOOLTIP="",VF.mpython_display_Show_MESSAGE0="OLED 顯示生效",VF.mpython_display_Show_TOOLTIP="",VF.mpython_display_DispChar_MESSAGE0="顯示文本 x %1 y %2 內容 %3 模式 %4 %5",VF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",VF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",VF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行顯示 %2 模式 %3 %4",VF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",VF.mpython_line1="1",VF.mpython_line2="2",VF.mpython_line3="3",VF.mpython_line4="4",VF.mpython_line5="5",VF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",VF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",VF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="";VF.mpython_display_fill_0="清空",VF.mpython_display_fill_1="全亮",VF.mpython_display_invert_0="黑底",VF.mpython_display_invert_1="白底",VF.mpython_display_show="生效",VF.mpython_display_fill_MESSAGE0="OLED 顯示 %1",VF.mpython_display_fill_TOOLTIP="",VF.mpython_display_pixel_0="暗",VF.mpython_display_pixel_1="亮",VF.mpython_display_pixel_MESSAGE0="描點 x %1 y %2 為 %3",VF.mpython_display_pixel_TOOLTIP="",VF.mpython_display_hline_0="擦除",VF.mpython_display_hline_1="繪制",VF.mpython_display_hline_MESSAGE0="%1 水平線%2 x%3 y%4 長度%5",VF.mpython_display_hline_TOOLTIP="",VF.mpython_ProgressBar_MESSAGE0="進度條%1 x%2 y%3 寬%4 高%5 進度%6",VF.mpython_ProgressBar_TOOLTIP="",VF.mpython_stripBar_MESSAGE0="柱狀條%1 x%2 y%3 寬%4 高%5 進度%6",VF.mpython_stripBar_TOOLTIP="",VF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",VF.MPYTHON_QR_CODE_TOOLTIP="",VF.MPYTHON_QR_CODE_MESSAGE0="在坐標 x %1 y %2 繪制二維碼 %3 尺寸 %4",VF.MPYTHON_DISPLAY_MODE_0="擦除",VF.MPYTHON_DISPLAY_MODE_1="繪制",VF.MPYTHON_DISPLAY_HOLLOW="空心",VF.MPYTHON_DISPLAY_SOLID="實心",VF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 線 %3 x %4 y %5 長度 %6",VF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",VF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 寬 %6 高 %7",VF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",VF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圓 %3 x %4 y %5 半徑 %6",VF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",VF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",VF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",VF.MPYTHON_RGB_0="0 #",VF.MPYTHON_RGB_1="1 #",VF.MPYTHON_RGB_2="2 #",VF.MPYTHON_RGB_ALL="所有",VF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="設置 %1 RGB 燈顏色為 %2",VF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="設置 %1 RGB 燈顏色為 R %2 G %3 B %4",VF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.MPYTHON_OFF_RGB_LIST_MESSAGE0="關閉 %1 RGB 燈",VF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",VF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音樂 %1 引腳 %2",VF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放內置的音樂",VF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音樂 %1 直到完成 , 引腳 %2",VF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放內置的音樂",VF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖國",VF.MPYTHON_MUSIC_DONG_FANG_HONG="東方紅",VF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩雲追月",VF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走進新時代",VF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",VF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小調",VF.mpython_display_vline_MESSAGE0="%1 垂直線%2 x%3 y%4 長度%5",VF.mpython_display_vline_TOOLTIP="",VF.mpython_display_line_MESSAGE0="%1 線%2 x1 %3 y1 %4 到 x2 %5 y2 %6",VF.mpython_display_line_TOOLTIP="",VF.mpython_display_rect_MESSAGE0="%1 邊框%2 x %3 y %4 寬 %5 高 %6",VF.mpython_display_rect_TOOLTIP="",VF.mpython_display_RoundRect_MESSAGE0="%1 弧角邊框%2 x %3 y %4 寬 %5 高 %6 半徑%7",VF.mpython_display_RoundRect_TOOLTIP="",VF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 寬 %5 高 %6 ",VF.mpython_display_fill_rect_TOOLTIP="",VF.mpython_display_fill_circle_MESSAGE0="%1 實心圓%2 x %3 y %4 半徑 %5",VF.mpython_display_fill_circle_TOOLTIP="",VF.mpython_display_circle_MESSAGE0="%1 空心圓%2 x %3 y %4 半徑 %5",VF.mpython_display_circle_TOOLTIP="",VF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",VF.mpython_display_triangle_TOOLTIP="",VF.mpython_display_fill_triangle_MESSAGE0="%1 實心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",VF.mpython_display_fill_triangle_TOOLTIP="",VF.mpython_display_Bitmap_MESSAGE0="%1 圖像 x%2 y%3 寬%4 高%5 16進制圖像數據 %6",VF.mpython_display_Bitmap_TOOLTIP="將16進制圖像數據顯示在OLED屏的指定位置",VF.MPYTHON_GET_PBM_DATA_MESSAGE0="獲取內置圖像 %1 模式%2",VF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件,獲取指定路徑的圖像文件數據,返回一個元組對象。",VF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",VF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="獲取自定義圖像 %1 模式%2",VF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %3",VF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件",VF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",VF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %5 寬 %3 高 %4",VF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",VF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",VF.mpython_horizontal="水平",VF.mpython_vertical="垂直",VF.mpython_display_FrameBuffer_MESSAGE0="構建幀 列表 %1 長 %2 寬 %3 掃描模式 %4",VF.mpython_display_FrameBuffer_TOOLTIP="用圖像取模後數據的列表 ,創建128x64的幀緩存區,以儲存圖片幀",VF.MPYTHON_FONT_DIGIFACE_11="仿數碼管 11像素",VF.MPYTHON_FONT_DIGIFACE_16="仿數碼管 16像素",VF.MPYTHON_FONT_DIGIFACE_21="仿數碼管 21像素",VF.MPYTHON_FONT_DIGIFACE_30="仿數碼管 30像素",VF.MPYTHON_FONT_DIGIFACE_44="仿數碼管 44像素",VF.MPYTHON_FONT_DIGIFACE_IT_30="仿數碼管 斜體 30像素",VF.MPYTHON_FONT_DIGIFACE_IT_42="仿數碼管 斜體 42像素",VF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",VF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",VF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",VF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑體 12像素",VF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑體 16像素",VF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑體 21像素",VF.MPYTHON_FONT_WRAP="自動換行",VF.MPYTHON_FONT_NO_WRAP="不換行",VF.MPYTHON_FACE_1="心形",VF.MPYTHON_FACE_2="心形(小)",VF.MPYTHON_FACE_3="高興",VF.MPYTHON_FACE_4="笑臉",VF.MPYTHON_FACE_5="傷心",VF.MPYTHON_FACE_6="困惑",VF.MPYTHON_FACE_7="生氣",VF.MPYTHON_FACE_8="睡著",VF.MPYTHON_FACE_9="驚訝",VF.MPYTHON_FACE_10="愚蠢",VF.MPYTHON_FACE_11="極妙",VF.MPYTHON_FACE_12="無聊",VF.MPYTHON_FACE_ROCK="石頭",VF.MPYTHON_FACE_PAPER="布",VF.MPYTHON_FACE_SCISSORS="剪刀",VF.MPYTHON_FACE_ROCK_S="石頭(小)",VF.MPYTHON_FACE_PAPER_S="布(小)",VF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",VF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐標 x %1 y %2 顯示 %3 以 %4 字體 %5",VF.MPYTHON_DISPLAY_FONT_TOOLTIP="",VF.MPYTHON_DISPLAY_FONT_HELPURL="",VF.mpython_front="正向",VF.mpython_reverse="反轉",VF.mpython_display_blit_MESSAGE0="顯示幀 坐標x %1 y %2",VF.mpython_display_blit_TOOLTIP="",VF.mpython_front_reverse_MESSAGE0="像素點bit %1",VF.mpython_front_reverse_TOOLTIP="用於顯示之前",VF.mpython_images_append_MESSAGE0="動圖顯示 幀數%1 周期%2 長%3 寬%4",VF.mpython_images_append_TOOLTIP="上傳至掌控板的pbm圖片需命名為IMAGE.數字,後綴為pbm。如:IMAGE.1.pbm。幀數為7則數字為1至7",VF.mpython_button_is_pressed_MESSAGE0="按鍵%1 被按下",VF.mpython_button_is_pressed_TOOLTIP="",VF.mpython_button_both_pressed_MESSAGE0="AB按鍵都按下",VF.mpython_button_both_pressed_TOOLTIP="",VF.mpython_touchPad_value_MESSAGE0="按鍵%1 被觸摸",VF.mpython_touchPad_value_TOOLTIP="",VF.mpython_touchPad_value_num_MESSAGE0="按鍵%1 觸摸值",VF.mpython_touchPad_value_num_TOOLTIP="",VF.mpython_read_digital_MESSAGE0="讀取引腳 %1 數字值",VF.mpython_read_digital_TOOLTIP="",VF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水溫度感測器 引脚 %1",VF.mpython_read_DS18B20_TOOLTIP="",VF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",VF.mpython_set_digital_MESSAGE0="設置引腳 %2 數字值為 %1",VF.mpython_set_digital_TOOLTIP="",VF.mpython_read_analog_MESSAGE0="讀取引腳 %1 模擬值",VF.mpython_read_analog_TOOLTIP="",VF.mpython_set_analog_MESSAGE0="設置引腳 %2 模擬值(PWM)為 %1",VF.mpython_set_analog_TOOLTIP="模擬輸出是通過IO引腳輸出脈寬調制信號,輸出指定的電壓值,簡稱PWM。",VF.mpython_set_RGB_MESSAGE0="設置 %1 號 RGB 燈顏色為 R %2 G %3 B %4",VF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_set_RGB_color_MESSAGE0="設置 %1 號 RGB 燈顏色為 %2",VF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_set_RGB_all_MESSAGE0="設置所有 RGB 燈顏色為 R %1 G %2 B %3",VF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_set_RGB_color_all_MESSAGE0="設置所有 RGB 燈顏色為 %1",VF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",VF.mpython_fresh_RGB_MESSAGE0="RGB 燈設置生效",VF.mpython_fresh_RGB_TOOLTIP="",VF.mpython_off_RGB_MESSAGE0="關閉 RGB 燈",VF.mpython_off_RGB_TOOLTIP="",VF.mpython_buzz_state_MESSAGE0="停止播放音樂",VF.mpython_buzz_state_TOOLTIP="",VF.mpython_buzz_freq_MESSAGE0="播放連續音調 %1 引脚 %2",VF.mpython_buzz_freq_TOOLTIP="",VF.mpython_buzz_tone_MESSAGE0="播放音調 %1",VF.mpython_buzz_tone_TOOLTIP="",VF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",VF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默認是掌控板的P6引脚",VF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",VF.MPYTHON_MUSIC_TONE_HELPURL="",VF.MPYTHON_MUSIC_TONE_TOOLTIP="",VF.MPYTHON_MUSIC_TONE_MESSAGE0="音調 %1",VF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",VF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",VF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 節拍 %2",VF.MPYTHON_MUSIC_TICK_HELPURL="",VF.MPYTHON_MUSIC_TICK_TOOLTIP="",VF.MPYTHON_MUSIC_TICK_MESSAGE0="節拍 %1",VF.MPYTHON_4_LINES_HELPURL="",VF.MPYTHON_4_LINES_TOOLTIP="",VF.MPYTHON_4_LINES_MESSAGE0="%1",VF.NUMBER_1="1",VF.NUMBER_1_2="1/2",VF.NUMBER_1_4="1/4",VF.NUMBER_2="2",VF.NUMBER_4="4",VF.mpython_read_sound_MESSAGE0="聲音值",VF.mpython_read_sound_TOOLTIP="",VF.mpython_read_light_MESSAGE0="光線值",VF.mpython_read_light_TOOLTIP="",VF.mpython_accelerometer_get_MESSAGE0="%1 軸加速度",VF.mpython_accelerometer_get_TOOLTIP="",VF.mpython_accelerometer_get_z_MESSAGE0="z軸加速度",VF.mpython_accelerometer_get_z_TOOLTIP="",VF.mpython_accelerometer_get_y_MESSAGE0="y軸加速度",VF.mpython_accelerometer_get_y_TOOLTIP="",VF.mpython_accelerometer_get_x_MESSAGE0="x軸加速度",VF.mpython_accelerometer_get_x_TOOLTIP="",VF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",VF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",VF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",VF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",VF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",VF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",VF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",VF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="設置加速度範圍,默認為 ±2g。",VF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="設置加速度範圍為 %1",VF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="設置加速度分辨率,默認為 10bits。",VF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="設置加速度分辨率為 %1",VF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校準加速度計的3個軸(x,y,z)的加速值偏差。\n一般情況下無需校準,只有遇到加速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1g。\n註意:校準數據斷電後不會保存。",VF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校準加速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4",VF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 軸 磁力",VF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南針方向",VF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校準指南針",VF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除當前環境磁場",VF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="僅適用於掌控板2.0及以上版本",VF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁場強度",VF.MPYTHON_TILT_ANGLE_HELPURL="",VF.MPYTHON_TILT_ANGLE_TOOLTIP="",VF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 軸傾斜角",VF.mpython_random_choice_MESSAGE0="返回隨機項%1",VF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的隨機項",VF.mpython_i2c_init_MESSAGE0="初始化I2C 波特率%1",VF.mpython_i2c_init_TOOLTIP="SCL引腳19,SDA引腳20,與內部的OLED和加速度傳感器共享I2C總線",VF.MACHINE_TIME_PULSE_US_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",VF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 電平持續時間(微秒)",VF.MACHINE_TIME_PULSE_US_TOOLTIP="",VF.BYTES="字節",VF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",VF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",VF.MPYTHON_I2C_INIT_TOOLTIP="",VF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",VF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",VF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",VF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",VF.MPYTHON_I2C_SCAN_MESSAGE0="%1 掃描地址",VF.MPYTHON_I2C_SCAN_TOOLTIP="返回壹個數組對象",VF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",VF.MPYTHON_I2C_DEINIT_MESSAGE0="關閉%1總線",VF.MPYTHON_I2C_DEINIT_TOOLTIP="",VF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",VF.MPYTHON_I2C_WRITETO_MESSAGE0="從%1 %5 地址%2 寫入%3 停止位%4",VF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n寫入:Number、String",VF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",VF.MPYTHON_I2C_READFROM_MESSAGE0="從%1 %5 地址%2 讀取 字節數%3 停止位%4",VF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",VF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",VF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="從%1 %6 地址%2 讀入緩存區%3 字節數%4 停止位%5",VF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",VF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",VF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 寫入%3",VF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n寫入:Number、String",VF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",VF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 讀取 字節數%3",VF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",VF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",VF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="從%1 %6 地址%2 寄存器%5 讀入緩存區%3 字節數%4",VF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",VF.mpython_print_MESSAGE0="調試輸出 %1",VF.mpython_print_TOOLTIP="通過串口調試,輸出字符串",VF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",VF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印數據到圖表",VF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印數據到圖表",VF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="數據",VF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",VF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="數據內容",VF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",VF.MPYTHON_INIT_CHART_TOOLTIP="",VF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化圖表列標題",VF.MPYTHON_INIT_CHART_INPUT_WITH="初始化圖表列標題",VF.MPYTHON_INIT_CHART_ITEM_TITLE="標題",VF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",VF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="數據列標題",VF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",VF.MPYTHON_MS="毫秒",VF.MPYTHON_US="微秒",VF.MPYTHON_TIME_DIFFERENCE_HELPURL="",VF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回運行時間差 開始時間 %1 結束時間 %2",VF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",VF.MPYTHON_TYPE_HELPURL="",VF.MPYTHON_TYPE_MESSAGE0="值 %1 的類型",VF.MPYTHON_TYPE_TOOLTIP="",VF.MPYTHON_TYPE_IS_HELPURL="",VF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的類型為 %2",VF.MPYTHON_TYPE_IS_TOOLTIP="",VF.MPYTHON_EVAL_HELPURL="",VF.MPYTHON_EVAL_MESSAGE0="計算表達式 %1 的結果",VF.MPYTHON_EVAL_TOOLTIP="計算字符串表達式,並返回結果",VF.MPYTHON_RETURN_HELPURL="",VF.MPYTHON_RETURN_MESSAGE0="return %1",VF.MPYTHON_RETURN_TOOLTIP="",VF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",VF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 電機速度 %1",VF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",VF.MPYTHON_M1M2_LED_ON_HELPURL="",VF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 設燈 %1 亮度 %2",VF.MPYTHON_M1M2_LED_ON_TOOLTIP="",VF.MPYTHON_M1M2_LED_OFF_HELPURL="",VF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 關燈 %1",VF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",VF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",VF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C數字光綫",VF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",VF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",VF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 顔色 %1",VF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 顔色",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",VF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",VF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 顔色 %1",VF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 顔色",VF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",VF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C電壓感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁場感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C電導率感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C氣壓感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",VF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光電門感測器 撥碼 %1",VF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",VF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",VF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",VF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元組形式返回所有wifi配置信息",VF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",VF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已連接到 WI-FI",VF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",VF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",VF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi連接 語音助手 Wi-Fi 名稱 %1 密碼 %2",VF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通過串口把WIF傳給語音助手",VF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",VF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在檔案系統將文件上傳到板",VF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="讀取 語音助手 文字檔 %1",VF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",VF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="數碼管顯示 %1",VF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",VF.MPYTHON_MACHINE_RESET_HELPURL="",VF.MPYTHON_MACHINE_RESET_MESSAGE0="復位",VF.MPYTHON_MACHINE_RESET_TOOLTIP="與按下外部RESET按鍵效果一樣",VF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",VF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空數碼管",VF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",VF.MPYTHON_MUSIC_PIN_P6="默認",VF.MPYTHON_MUSIC_PIN_P6_HELPURL="",VF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",VF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",VF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",VF.MPYTHON_SLEEP_TOOLTIP="在進行下一個命令前,等待設定的時間。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符號ms(millisecond)\n微秒,符號μs(microsecond)",VF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="運行時間",VF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="獲取開機或復位後的運行時間(毫秒)。",VF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",VF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="溫度",VF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="獲取 micro:bit 的溫度(℃)。",VF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",VF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音樂 %1 等待 %2 循環 %3 引脚 %4",VF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放內置的音樂,可以設置等待模式和循環播放。",VF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",VF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音調 %1 %2 延時 %3 毫秒 引脚 %4",VF.MICROBIT_MUSIC_PITCH_TOOLTIP="在設定的時間長度裏播放音調。",VF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",VF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循環 %4",VF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符為字符串形式。默認是掌控板的P6引脚",VF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",VF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",VF.MICROBIT_MUSIC_RESET_MESSAGE0="恢復音樂設置",VF.MICROBIT_MUSIC_RESET_TOOLTIP="將所有音樂設置 (當前節拍, 音階和周期) 恢復成默認值。",VF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",VF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音樂 引脚 %1",VF.MICROBIT_MUSIC_STOP_TOOLTIP="默認是掌控板的P6引脚",VF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="設置每一拍等同 %1 分音符,每分鐘節拍數 %2",VF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="設置回放速度 (節拍)。一定數量的滴答代表一拍,每拍每分鐘播放次數 (BPM 每分鐘節拍)。",VF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",VF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="設置播放速度為 %1 倍",VF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符為1拍,每分鐘節拍數默認120,為1倍的播放速度",VF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",VF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="獲取當前節拍",VF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="獲取當前節拍: 每節拍滴答數, 每分鐘節拍 (BPM)。",VF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",VF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引腳 %1 控制, neopixel 彩燈數 %2 ",VF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩燈。需要設定 neopixels 彩燈數量和控制腳。",VF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",VF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩燈 %1",VF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩燈",VF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",VF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="顯示 neopixels 彩燈 %1",VF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="顯示 / 更新全部 neopixels 彩燈。",VF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",VF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",VF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩燈的紅、綠、藍 (RGB) 顏色",VF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",VF.MICROBIT_PIN_TOUCHED_MESSAGE0="引腳 %1 被觸摸",VF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引腳被觸摸將返回 “真”。",VF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",VF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸摸",VF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引腳曾經被觸摸將返回 “真”。",VF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",VF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引腳 %1 被觸摸的次數",VF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被觸摸的次數,然後清零。",VF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",VF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="讀取引腳 %1 模擬電壓",VF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="讀取引腳的模擬輸入電壓。",VF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",VF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="設置模擬量 %1 到引腳 %2",VF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="寫入模擬參數到指定引腳上。",VF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",VF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="讀取引腳 %1 的數字輸入",VF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="讀取引腳的數字輸入 (真 或 假)。",VF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",VF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="設置數字輸出 %1 到引腳 %2",VF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="寫入數字量 (真 或 假) 到指定引腳。",VF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",VF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",VF.MICROBIT_RADIO_ON_MESSAGE0="打開無線廣播",VF.MICROBIT_RADIO_ON_TOOLTIP="打開無線廣播。需要明確聲明調用,因為它會消耗更多功率和占用更多內存。",VF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",VF.MICROBIT_RADIO_OFF_MESSAGE0="關閉無線廣播",VF.MICROBIT_RADIO_OFF_TOOLTIP="關閉無線廣播,節省功耗和內存。",VF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置無線廣播消息長度 %1 %2 最大隊列數量 %3 %4 信道 %5 %6 廣播功率 %7 %8 地址 %9 %10 組 %11 %12 數據速率 %13",VF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置無線廣播。\n 長度指單個消息的最大長度; \n 隊列指可以存放在消息隊列中消息的數量; \n 信道指無線廣播使用的無線頻率; \n 功率指發射廣播信號的強度; \n 地址:32位值; \n 組:8位值(0-255); \n 數據速率指數據傳輸的速度。",VF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",VF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",VF.MICROBIT_RADIO_RESET_MESSAGE0="復位無線廣播",VF.MICROBIT_RADIO_RESET_TOOLTIP="恢復無線廣播到默認設置。",VF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="發送消息 %1",VF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="廣播文字消息。",VF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",VF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="發送字節 %1",VF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="廣播字節。",VF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",VF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",VF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",VF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",VF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字節",VF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字節。",VF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",VF.MICROBIT_SPEECH_SAY_MESSAGE0="說 %1",VF.MICROBIT_SPEECH_SAY_TOOLTIP="嘗試說英語",VF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",VF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="讀 %1",VF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精確發音。",VF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",VF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",VF.MICROBIT_SPEECH_SING_TOOLTIP="象機器人一樣唱歌。",VF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",VF.MICROBIT_GESTURE_SHAKE="搖晃",VF.MICROBIT_GESTURE_UP="上",VF.MICROBIT_GESTURE_DOWN="下",VF.MICROBIT_GESTURE_LEFT="左",VF.MICROBIT_GESTURE_RIGHT="右",VF.MICROBIT_GESTURE_FACE_UP="朝上",VF.MICROBIT_GESTURE_FACE_DOWN="朝下",VF.MICROBIT_GESTURE_FREEFAIL="自由下落",VF.MICROBIT_IMAGE_HEART="心形",VF.MICROBIT_IMAGE_HEART_SMALL="心(小)",VF.MICROBIT_IMAGE_HAPPY="高興",VF.MICROBIT_IMAGE_SMILE="笑臉",VF.MICROBIT_IMAGE_SAD="傷心",VF.MICROBIT_IMAGE_CONFUSED="困惑",VF.MICROBIT_IMAGE_ANGRY="生氣",VF.MICROBIT_IMAGE_ASLEEP="睡著",VF.MICROBIT_IMAGE_SUPRISED="驚訝",VF.MICROBIT_IMAGE_SILLY="愚蠢",VF.MICROBIT_IMAGE_FABULOUS="極妙",VF.MICROBIT_IMAGE_MEH="無聊",VF.MICROBIT_IMAGE_YES="是",VF.MICROBIT_IMAGE_NO="否",VF.MICROBIT_IMAGE_CLOCK12="12點",VF.MICROBIT_IMAGE_CLOCK11="11點",VF.MICROBIT_IMAGE_CLOCK10="10點",VF.MICROBIT_IMAGE_CLOCK9="9點",VF.MICROBIT_IMAGE_CLOCK8="8點",VF.MICROBIT_IMAGE_CLOCK7="7點",VF.MICROBIT_IMAGE_CLOCK6="6點",VF.MICROBIT_IMAGE_CLOCK5="5點",VF.MICROBIT_IMAGE_CLOCK4="4點",VF.MICROBIT_IMAGE_CLOCK3="3點",VF.MICROBIT_IMAGE_CLOCK2="2點",VF.MICROBIT_IMAGE_CLOCK1="1點",VF.MICROBIT_IMAGE_ARROW_N="箭頭-北",VF.MICROBIT_IMAGE_ARROW_NE="箭頭-東北",VF.MICROBIT_IMAGE_ARROW_E="箭頭-東",VF.MICROBIT_IMAGE_ARROW_SE="箭頭-東南",VF.MICROBIT_IMAGE_ARROW_S="箭頭-南",VF.MICROBIT_IMAGE_ARROW_SW="箭頭-西南",VF.MICROBIT_IMAGE_ARROW_W="箭頭-西",VF.MICROBIT_IMAGE_ARROW_NW="箭頭-西北",VF.MICROBIT_IMAGE_TRIANGLE="三角形",VF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",VF.MICROBIT_IMAGE_CHESSBOARD="棋盤",VF.MICROBIT_IMAGE_DIAMOND="菱形",VF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",VF.MICROBIT_IMAGE_SQUARE="方形",VF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",VF.MICROBIT_IMAGE_RABBIT="兔子",VF.MICROBIT_IMAGE_COW="牛",VF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",VF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",VF.MICROBIT_IMAGE_MUSIC_QUAVERS="顫音",VF.MICROBIT_IMAGE_PITCHFORK="叉子",VF.MICROBIT_IMAGE_XMAS="聖誕樹",VF.MICROBIT_IMAGE_PACMAN="吃豆人",VF.MICROBIT_IMAGE_TARGET="目標",VF.MICROBIT_IMAGE_TSHIRT="T恤衫",VF.MICROBIT_IMAGE_ROLLERSKATE="輪滑",VF.MICROBIT_IMAGE_DUCK="鴨子",VF.MICROBIT_IMAGE_HOUSE="房子",VF.MICROBIT_IMAGE_TORTOISE="烏龜",VF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",VF.MICROBIT_IMAGE_STICKFIGURE="線條畫",VF.MICROBIT_IMAGE_GHOST="幽靈",VF.MICROBIT_IMAGE_SWORD="寶劍",VF.MICROBIT_IMAGE_GIRAFFE="長頸鹿",VF.MICROBIT_IMAGE_SKULL="頭",VF.MICROBIT_IMAGE_UMBRELLA="傘",VF.MICROBIT_IMAGE_SNAKE="蛇",VF.MICROBIT_IMAGE_ALL_CLOCKS="所有時鐘",VF.MICROBIT_IMAGE_ALL_ARROWS="所有箭頭",VF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",VF.MICROBIT_PIN_SET_SERVO_TOOLTIP="設置舵機角度,範圍為 0 ~ 180度",VF.MICROBIT_PIN_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",VF.MICROBIT_PIN_SET_MODE_HELPURL="",VF.MICROBIT_PIN_SET_MODE_TOOLTIP="引腳模式有三種:懸空、上拉、下拉",VF.MICROBIT_PIN_SET_MODE_MESSAGE0="設置引腳 %1 模式為 %2",VF.MICROBIT_PIN_MODE_NO="懸空",VF.MICROBIT_PIN_MODE_UP="上拉",VF.MICROBIT_PIN_MODE_DOWN="下拉",VF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",VF.MICROBIT_UART_INIT_TOOLTIP="",VF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",VF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到數據",VF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_READ_MSG_TOOLTIP="",VF.MICROBIT_UART_READ_MSG_MESSAGE0="讀取串口 %1 字節",VF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",VF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="讀取串口 %1 字節存至 %2",VF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",VF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",VF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口發送數據 %1",VF.MICROBIT_ALL_BYTES="全部",VF.MICROBIT_ALINE_BYTES="一行",VF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引腳 %1 被觸發",VF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按鍵按下返回 “真”,否則返回 “假”。",VF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",VF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸發",VF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按鍵曾經按下過返回 “真”,否則返回 “假”。",VF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",VF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引腳 %1 被觸發過的次數",VF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按鍵按下的總次數,然後清除計數。",VF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",VF.LABPLUS_LED_MESSAGE0="設置LED燈 引腳 %2 輸出 %1",VF.LABPLUS_LED_TOOLTIP="",VF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",VF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="紅外探測 引腳 %1 被觸發",VF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",VF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="熱敏傳感器 引腳 %1 的值",VF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",VF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",VF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C數字光線傳感器的值(lux)",VF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",VF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",VF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位傳感器 引腳 %1 的值",VF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",VF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",VF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="煙霧探測器 引腳 %1 被觸發",VF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",VF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_BUZZER_FOR_TOOLTIP="",VF.LABPLUS_BUZZER_FOR_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0 %2 毫秒",VF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_BUZZER_ON_TOOLTIP="",VF.LABPLUS_BUZZER_ON_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0",VF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_BUZZER_OFF_TOOLTIP="",VF.LABPLUS_BUZZER_OFF_MESSAGE0="關閉蜂鳴器 引腳0",VF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C溫濕度傳感器的 %1 值",VF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",VF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",VF.LABPLUS_TM_HM_SENSOR_TM="溫度",VF.LABPLUS_TM_HM_SENSOR_HM="濕度",VF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",VF.LABPLUS_SET_SERVO_TOOLTIP="",VF.LABPLUS_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",VF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指紋傳感器 引腳 %1 驗證通過",VF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",VF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",VF.LABPLUS_SET_MOTOR_HELPURL="",VF.LABPLUS_SET_MOTOR_TOOLTIP="",VF.LABPLUS_SET_MOTOR_MESSAGE0="設置電機 %1 方向 %2 速度 %3",VF.LABPLUS_SET_MOTOR_CLOCKWISE="正轉",VF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反轉",VF.LABPLUS_STOP_MOTOR_HELPURL="",VF.LABPLUS_STOP_MOTOR_TOOLTIP="",VF.LABPLUS_STOP_MOTOR_MESSAGE0="停止電機",VF.LABPLUS_GET_RFID_ID_MESSAGE0="射頻卡 引腳 %1 驗證通過",VF.LABPLUS_GET_RFID_ID_TOOLTIP="",VF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",VF.LABPLUS_GET_RFID_VALUE_MESSAGE0="電子錢包 引腳 %1 余額",VF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",VF.LABPLUS_GET_RFID_VALUE_HELPURL="",VF.LABPLUS_SET_RFID_VALUE_MESSAGE0="設置電子錢包 引腳 %1 余額 %2 %3",VF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",VF.LABPLUS_SET_RFID_VALUE_HELPURL="",VF.LABPLUS_SET_RFID_ADD="增加",VF.LABPLUS_SET_RFID_MINUS="減少",VF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="聲音傳感器 引腳 %1 被觸發",VF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",VF.LABPLUS_USB_SWITCH_HELPURL="",VF.LABPLUS_USB_SWITCH_TOOLTIP="",VF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB開關 引腳 %2",VF.LABPLUS_USB_SWITCH_ON="打開",VF.LABPLUS_USB_SWITCH_OFF="關閉",VF.LABPLUS_VOICE_RECORD_HELPURL="",VF.LABPLUS_VOICE_RECORD_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 語音錄放器 引腳 %2",VF.LABPLUS_VOICE_RECORD_ON="打開",VF.LABPLUS_VOICE_RECORD_OFF="關閉",VF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引腳 %1 控制,RGB 彩燈數 %2 ",VF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩燈。需要設定 neopixels 彩燈數量和控制腳。",VF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",VF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩燈 %1",VF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩燈",VF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",VF.LABPLUS_RGB_SHOW_MESSAGE0="顯示 RGB 彩燈 %1",VF.LABPLUS_RGB_SHOW_TOOLTIP="顯示 / 更新全部 RGB 彩燈。",VF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",VF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",VF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩燈的紅、綠、藍 (RGB) 顏色",VF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="設置擴展端口 IO %1 為 %2",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示輸出引腳,1表示輸入引腳",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="輸入",VF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="輸出",VF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",VF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",VF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="讀取擴展端口值 IO %1",VF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",VF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",VF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="設置擴展端口 IO %1 值為 %2",VF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",VF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",VF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超聲波傳感器的值",VF.MICROBIT_SET_MUSIC_PIN_HELPURL="",VF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",VF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="設置默認蜂鳴器引腳為 %1",VF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94",VF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人體感應 引腳 %1 被觸發",VF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3",VF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="門磁開關 引腳 %1 被觸發",VF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",VF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",VF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="聲音傳感器 引腳 %1 的值",VF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",VF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",VF.LABPLUS_SMOKE_SENSOR_MESSAGE0="煙霧傳感器 引腳 %1 的值",VF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",VF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",VF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤濕度傳感器 引腳 %1 的值",VF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",VF.LABPLUS_FAN_SWITCH_TOOLTIP="",VF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 風扇 引腳 %2",VF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 引腳 %2",VF.LABPLUS_VOICE_RECORD_PLAY="播放",VF.LABPLUS_VOICE_RECORD_REC="錄音",VF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 引腳 %1",VF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_ON_TOOLTIP="",VF.LABPLUS_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳 %3",VF.LABPLUS_MOTOR_ON_CLOCKWISE="正轉",VF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反轉",VF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_OFF_TOOLTIP="",VF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流電機 引腳 %1",VF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",VF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",VF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C顏色傳感器讀取並儲存顏色",VF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",VF.LABPLUS_RGB_COLOR_TOOLTIP="讀取已儲存的顏色",VF.LABPLUS_RGB_COLOR_MESSAGE0="RGB顏色 %1",VF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",VF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",VF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="設置I2C數碼管的值為 %1",VF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",VF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",VF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="關閉I2C數碼管",VF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",VF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="設置MIDI模塊音調為 %1",VF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",VF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模塊 %2 音符 %1",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",VF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",VF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si",VF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",VF.LABPLUS_UART_OFF_MIDI_NOTE="停止",VF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",VF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模塊停止播放音符 %1",VF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",VF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",VF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模塊 %1",VF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",VF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循跡傳感器 引腳 %1 檢測為黑",VF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",VF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",VF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35溫度傳感器 引腳 %1 的值",VF.LABPLUS_ROTATE_DIMMER_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8",VF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",VF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋轉電位器 引腳 %1 的值",VF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",VF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",VF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震動傳感器 引腳 %1 被觸發",VF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",VF.LABPLUS_LASER_SWITCH_TOOLTIP="",VF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光開關 引腳 %2",VF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",VF.LABPLUS_4BUTTON_TOOLTIP="",VF.LABPLUS_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",VF.BLUE="A",VF.GREEN="B",VF.RED="C",VF.YELLOW="D",VF.LABPLUS_JOYSTICK_HELPURL="",VF.LABPLUS_JOYSTICK_TOOLTIP="",VF.LABPLUS_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",VF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",VF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",VF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模塊(UART)播放第 %1 首音樂",VF.LABPLUS_UART_MP3_SET_VOLUME_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",VF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",VF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="設置MP3模塊(UART)音量為 %1",VF.LABPLUS_UART_MP3_SET_STATUS_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",VF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",VF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="設置MP3模塊(UART)狀態為 %1",VF.PAUSE="暫停",VF.STOP="停止",VF.PLAY="繼續播放",VF.PLAYNEXT="下一首",VF.PLAYPREV="上一首",VF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_INIT_TOOLTIP="",VF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",VF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打開錄放器 %1 %2 引腳REC %3 引腳PLAY %4",VF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",VF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",VF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="關閉錄放器 %1 引腳REC %2 引腳PLAY %3",VF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_ON1_TOOLTIP="",VF.LABPLUS_MOTOR_ON1_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",VF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",VF.LABPLUS_MOTOR_OFF1_TOOLTIP="",VF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",VF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",VF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="設置LCD遊標位置%1 X %2 Y %3";VF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",VF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="設置LCD顯示 %1",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循環次數使用",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滾動LCD顯示內容",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",VF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",VF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",VF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",VF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD顯示內容",VF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",VF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到數據",VF.BLUEBIT_UART="串口",VF.BLUEBIT_INFRARED_SIGNAL="紅外信號",VF.BLUEBIT_BLUEBOOTH="藍牙",VF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_READ_MSG_TOOLTIP="",VF.LABPLUS_UART_READ_MSG_MESSAGE0="讀取 %1 數據",VF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",VF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",VF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 發送數據 %2",VF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",VF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",VF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="設置點陣 %1 第一行顯示%2 第二行顯示%3 第三行顯示%4 第四行顯示%5 第五行顯示%6 第六行顯示%7 第七行顯示%8 第八行顯示%9 ",VF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2="設置點陣 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",VF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",VF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",VF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空點陣",VF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",VF.LABPLUS_UART_SET_OLED_TOOLTIP="",VF.LABPLUS_UART_SET_OLED_MESSAGE0="設置OLED屏 %1 X %2 Y %3 顯示文本 %4 字體為 %5",VF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",VF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",VF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩陣 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",VF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",VF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",VF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",VF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",VF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",VF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模擬光線傳感器 引腳 %1 的值",VF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",VF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按鍵模塊 引腳 %1 被按下",VF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",VF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="設置舵機 %1 的角度為 %2",VF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",VF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="設置馬達 %1 方向 %2 速度 %3",VF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",VF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止馬達 %1",VF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="聲音傳感器的值",VF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",VF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光線傳感器的值",VF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",VF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",VF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_INIT_I2C_TOOLTIP="",VF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 頻率 %1 引腳SDA %2 引腳SCL %3",VF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_I2C_READ_TOOLTIP="",VF.MICROBIT_I2C_READ_MESSAGE0="I2C讀取從地址 %1 讀取 %2 字節",VF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_I2C_WRITE_TOOLTIP="",VF.MICROBIT_I2C_WRITE_MESSAGE0="I2C寫入 %2 到地址 %1",VF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",VF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",VF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",VF.BOTBIT_MOTOR_ON_HELPURL="",VF.BOTBIT_MOTOR_ON_TOOLTIP="範圍:-2000~2000",VF.BOTBIT_MOTOR_ON_MESSAGE0="設置機器人 %1 右輪速度為 %2 左輪速度為 %3",VF.BOTBIT_MOTOR_LEFT="左",VF.BOTBIT_MOTOR_RIGHT="右",VF.BOTBIT_SERVO_UP="上方",VF.BOTBIT_SERVO_DOWN="下方",VF.BOTBIT_MOTOR_FORWARD="前進",VF.BOTBIT_MOTOR_BACKWARD="後退",VF.BOTBIT_HOLDBALL_HELPURL="",VF.BOTBIT_HOLDBALL_TOOLTIP="",VF.BOTBIT_HOLDBALL_MESSAGE0="雙臂抱起",VF.BOTBIT_STEERING_ENGINEL_HELPURL="",VF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度範圍為-45°~45°",VF.BOTBIT_STEERING_ENGINEL_MESSAGE0="設置 %1臂 %2的角度為 %3",VF.BOTBIT_SERVO_Y="Y軸舵機",VF.BOTBIT_SERVO_X="X軸舵機",VF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",VF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度範圍為-45°~45°",VF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="設置 %1腿 %2舵機的角度為 %3",VF.BOTBIT_UPDATEPOSITION_HELPURL="",VF.BOTBIT_UPDATEPOSITION_TOOLTIP="",VF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵機角度",VF.BOTBIT_ULTRASONIC_HELPURL="",VF.BOTBIT_ULTRASONIC_TOOLTIP="",VF.BOTBIT_ULTRASONIC_MESSAGE0="超聲波傳感器的值",VF.BOTBIT_WALKING_HELPURL="",VF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推薦1000~2000",VF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步數%2 周期%3 方向%1 ",VF.BOTBIT_WALKING_FORWARD="前",VF.BOTBIT_WALKING_BACK="後",VF.BOTBIT_MOONWALKER_HELPURL="",VF.BOTBIT_MOONWALKER_TOOLTIP="推薦周期1000~2000, 幅度10~50",VF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步數%2 周期%3 幅度%4 方向%1 ",VF.BOTBIT_MOONWALKER_L="左",VF.BOTBIT_MOONWALKER_R="右",VF.BOTBIT_CRUSAITO_HELPURL="",VF.BOTBIT_CRUSAITO_TOOLTIP="推薦步數2~10, 幅度10~50",VF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步數%2 周期%3 幅度%4 方向%1",VF.BOTBIT_CRUSAITO_CW="逆時針",VF.BOTBIT_CRUSAITO_ANTICW="順時針",VF.BOTBIT_FLAPPING_HELPURL="",VF.BOTBIT_FLAPPING_TOOLTIP="推薦步數5~15, 幅度10~30, 周期1000~2000",VF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步數%2 周期%3 幅度%4 方向%1",VF.BOTBIT_FLAPPING_FORWARD="前",VF.BOTBIT_FLAPPING_BACK="後",VF.BOTBIT_HOME_HELPURL="",VF.BOTBIT_HOME_TOOLTIP="",VF.BOTBIT_HOME_MESSAGE0="機器人舞步初始化",VF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",VF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",VF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="設置MIDI模塊音量為 %1",VF.labplus_mapping_MESSAGE0="映射%1 從%2 , %3到%4 , %5",VF.labplus_mapping_TOOLTIP="將0~100中的10映射到0~200中並返回映射值",VF.labplus_mapping_HELPURL="",VF.JOINT_MIDI_PIANO="平臺鋼琴",VF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",VF.JOINT_MIDI_ELECTRICGRANDPIANO="電鋼琴",VF.JOINT_MIDI_HARPSICHORD="大鍵琴",VF.JOINT_MIDI_Celesta="鋼片琴",VF.JOINT_MIDI_Glockenspiel="鐘琴",VF.JOINT_MIDI_Musicalbox="音樂盒",VF.JOINT_MIDI_Marimba="馬林巴琴",VF.JOINT_MIDI_Xylophone="木琴",VF.JOINT_MIDI_TubularBell="管鐘",VF.JOINT_MIDI_Dulcimer="洋琴",VF.JOINT_Vibraphone="顫音琴",VF.JOINT_MIDI_ORGAN="音栓風琴",VF.JOINT_Acoustic_Guitar="木吉他",VF.JOINT_Electric_Guitar="電吉他",VF.JOINT_Acoustic_Bass="民謠貝斯",VF.JOINT_String_Ensemble="弦樂合奏",VF.JOINT_Violin="小提琴",VF.JOINT_Trumpet="小號",VF.JOINT_Sax="薩克斯",VF.JOINT_Steel_Drums="鋼鼓",VF.JOINT_Lead="合成音主旋律",VF.JOINT_Pad="合成音襯底",VF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",VF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",VF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音調 %1",VF.Carbit_init_MESSAGE0="CarBit初始化",VF.Carbit_init_TOOLTIP="",VF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_setLeftMotor_MESSAGE0="B2電機速度 %1",VF.Carbit_setLeftMotor_TOOLTIP="範圍:-100~100",VF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_setRightMotor_MESSAGE0="B1電機速度 %1",VF.Carbit_setRightMotor_TOOLTIP="範圍:-100~100",VF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_analog_light_TOOLTIP="Q3對應Pin1,Q4對應Pin2",VF.Carbit_analog_light_MESSAGE0="%1 模擬光線的值",VF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_Speed_U10_TOOLTIP="對應U10",VF.Carbit_Speed_U10_MESSAGE0="左輪速度",VF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_Speed_U11_TOOLTIP="對應U11",VF.Carbit_Speed_U11_MESSAGE0="右輪速度",VF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_Distance_TOOLTIP="",VF.Carbit_Distance_MESSAGE0="超聲波的值",VF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",VF.Carbit_tracking_TOOLTIP="",VF.Carbit_tracking_MESSAGE0="循跡參數 %1 直行速度 %2 最大限速 %3 轉彎延時 %5 轉彎速度系數 %4 ",VF.XUNFEI_SPEECH_TTS_HELPURL="",VF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音頻文件格式只能是 *.pcm",VF.XUNFEI_SPEECH_TTS_MESSAGE0="[訊飛語音] 合成音頻 %1 APPID %2 APISecret %3 APIKey %4 文字內容 %5 轉存為音頻文件 %6",VF.XUNFEI_SPEECH_IAT_HELPURL="",VF.XUNFEI_SPEECH_IAT_TOOLTIP="可識別的音頻格式有 *.pcm 與 *.wav",VF.XUNFEI_SPEECH_IAT_MESSAGE0="[訊飛語音] 識別音頻 %1 APPID %2 APISecret %3 APIKey %4 待識別音頻文件 %5",VF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",VF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",VF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[訊飛語音] 識別結果",VF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",VF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",VF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",VF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",VF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",VF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",VF.MPYTHON_ZKAI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",VF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",VF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",VF.MPYTHON_ZKAI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",VF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",VF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",VF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",VF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",VF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",VF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",VF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",VF.MPYTHON_ZKAI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",VF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",VF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",VF.MPYTHON_ZKAI_SENSOR_OffOn_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%85%B3%E9%97%AD%E6%91%84%E5%83%8F%E5%A4%B4",VF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",VF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",VF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",VF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",VF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",VF.MPYTHON_ZKAI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",VF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",VF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",VF.MPYTHON_ZKAI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",VF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",VF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",VF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",VF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",VF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",VF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%A2%9E%E7%9B%8A%E5%80%BC",VF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",VF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",VF.MPYTHON_ZKAI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",VF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",VF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",VF.MPYTHON_ZKAI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",VF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",VF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追蹤色塊",VF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",VF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追蹤色塊 顯示%1",VF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",VF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1獲取識別後色塊的 所有參數",VF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 x座標",VF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 y座標",VF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1獲取識別後色塊的 寬度",VF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1獲取識別後色塊的 高度",VF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1獲取識別後色塊的 數量",VF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心x座標",VF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心y座標",VF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",VF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1獲取識別後色塊的 矩形",VF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",VF.MPYTHON_ZKAI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 人臉",VF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",VF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 人臉識別",VF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",VF.MPYTHON_ZKAI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)獲取識別後人臉的 所有參數",VF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",VF.MPYTHON_ZKAI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)獲取識別後人臉的 x座標",VF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",VF.MPYTHON_ZKAI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)獲取識別後人臉的 y座標",VF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",VF.MPYTHON_ZKAI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)獲取識別後人臉的 寬度",VF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",VF.MPYTHON_ZKAI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)獲取識別後人臉的 高度",VF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",VF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)獲取識別後人臉的 置信度",VF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",VF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)獲取識別後人臉的 數量",VF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",VF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",VF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",VF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",VF.MPYTHON_ZKAI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",VF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",VF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",VF.MPYTHON_ZKAI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 20類",VF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 20類識別",VF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",VF.MPYTHON_ZKAI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)獲取識別後20類的 所有參數",VF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",VF.MPYTHON_ZKAI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)獲取識別後20類的 x座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)獲取識別後20類的 y座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",VF.MPYTHON_ZKAI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)獲取識別後20類的 寬度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)獲取識別後20類的 高度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)獲取識別後20類的 置信度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",VF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)獲取識別後20類的 數量",VF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",VF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)獲取識別後20類的 類型",VF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",VF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)獲取識別後20類的 類型數量",VF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",VF.MPYTHON_ZKAI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)選擇訓練模型 手寫數字",VF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",VF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",VF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)調用攝像頭進行 手寫數字識別",VF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)獲取識別後手寫數字的 所有參數",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",VF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)獲取識別後手寫數字的 數字",VF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)獲取識別後手寫數字的 置信度",VF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="获取 识别%1",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="获取 识别 所有参数",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="人脸识别",VF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",VF.MPYTHON_ZKAI_IMAGE_20CLASS_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",VF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",VF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",VF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",VF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",VF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",VF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",VF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",VF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",VF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",VF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",VF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",VF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",VF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",VF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",VF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",VF.MPYTHON_ZKAI_LCD_TEXT_MOST_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",VF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",VF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",VF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",VF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",VF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",VF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",VF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",VF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-2%EF%BC%9A-%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",VF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",VF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",VF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",VF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",VF.MPYTHON_ZKAI_SENSOR_ENABLE_START="開始抓取圖像",VF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取圖像",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平鏡像",VF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻轉",VF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="對比度",VF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",VF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="飽和度",VF.MPYTHON_ZKAI2_FACE_YOLO="人臉識別",VF.MPYTHON_ZKAI2_CLASS_20_YOLO="20類識別",VF.MPYTHON_ZKAI2_MNIST_NET="数字识别",VF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人臉",VF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="0類",VF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",VF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",VF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",VF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="聲明python 運行環境",VF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",VF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C獲取顔色",VF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",VF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",VF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C獲取 %1",VF.MPYTHON_lARK_RED="紅色",VF.MPYTHON__LARK_GREEN="綠色",VF.MPYTHON__LARK_BLUE="藍色",VF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C獲取HSV",VF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C獲取HSV %1",VF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",VF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C獲取顔色",VF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",VF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="識別 %1",VF.MPYTHON_LARK_RED="紅色",VF.MPYTHON_LARK_GREEN="綠色",VF.MPYTHON_LARK_BLUE="藍色",VF.MPYTHON_LARK_ORANGE="橙色",VF.MPYTHON_LARK_YELLOW="黃色",VF.MPYTHON_LARK_PURPLE="紫色",VF.MPYTHON_LARK_CYAN="青色",VF.MPYTHON_LARK_NONE="無色",VF.MPYTHON_LARK_NULL="無法獲取",VF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",VF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超聲波",VF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",VF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C設置 %1 速度 %2",VF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C獲取 %1 巡綫值",VF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右邊",VF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左邊",VF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循跡傳感器 %1 遇到黑綫",VF.MPYTHON_LARK_SEARCH_LEFT="左邊",VF.MPYTHON_LARK_SEARCH_RIGHT="右邊",VF.MPYTHON_LARK_SEARCH_LEFT2="兩邊都",VF.MPYTHON_LARK_SEARCH_RIGHT2="兩邊都無",VF.MPYTHON_LARK_SEARCH_BOTH="兩邊都",VF.MPYTHON_LARK_SEARCH_NONE="兩邊都無",VF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",VF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里馬獲取顔色",VF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",VF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里馬獲取 %1",VF.MPYTHON_lARK_CAR_RED="紅色",VF.MPYTHON__LARK_CAR_GREEN="綠色",VF.MPYTHON__LARK_CAR_BLUE="藍色",VF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里馬獲取HSV",VF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",VF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里馬HSV %1",VF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",VF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里馬識別顔色",VF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",VF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里馬識別顔色 %1",VF.MPYTHON_LARK_CAR_RED="紅色",VF.MPYTHON_LARK_CAR_GREEN="綠色",VF.MPYTHON_LARK_CAR_BLUE="藍色",VF.MPYTHON_LARK_CAR_ORANGE="橙色",VF.MPYTHON_LARK_CAR_YELLOW="黃色",VF.MPYTHON_LARK_CAR_PURPLE="紫色",VF.MPYTHON_LARK_CAR_CYAN="青色",VF.MPYTHON_LARK_CAR_NONE="無識別",VF.MPYTHON_LARK_CAR_NULL="識別錯誤",VF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",VF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里馬獲取超聲波",VF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里馬獲取 %1 循跡數值",VF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右邊",VF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左邊",VF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",VF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里馬循跡 %1 碰到黑綫",VF.MPYTHON_LARK_CAR_SEARCH_LEFT="左邊",VF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右邊",VF.MPYTHON_LARK_CAR_SEARCH_LEFT2="兩邊",VF.MPYTHON_LARK_CAR_SEARCH_NONE="兩邊都沒有",VF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",VF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="電機驅動 %1 速度 %2",VF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",VF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里馬 %1 速度 %2",VF.MPYTHON_LARK_CAR_MOTION_LEFT="左轉",VF.MPYTHON_LARK_CAR_MOTION_RIGHT="右轉",VF.MPYTHON_LARK_CAR_MOTION_FORWARD="前進",VF.MPYTHON_LARK_CAR_MOTION_BACKWARD="後退",VF.MPYTHON_LARK_CAR_MOTION_STOP="停止",VF.MPYTHON_DEFINE_THREAD_MESSAGE0="定義線程 %1",VF.MPYTHON_RUN_THREAD_MESSAGE0="運行線程 %1",VF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 轉換數字為bytes %1 %2 %3 %4 待轉換數字 %5",VF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes為數字 %1 %2 %3 %4 待轉換bytes %5",VF.LITTLE_ENDIAN="低字節序(默認)",VF.BIG_ENDIAN="高字節序",VF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[適用2.0板] 當掌控板 %1 時",VF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",VF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向後傾斜",VF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",VF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",VF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被單擊",VF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被雙擊",VF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="墜落",VF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="橫滾角",VF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",VF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",VF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",VF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",VF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",VF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",VF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按鍵 %1 已經按下",VF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",VF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",VF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按鍵 %1 曾經按下",VF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",VF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",VF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按鍵 %1 按下過的次數",VF.MPYTHON2_BUTTON_EVENT_MESSAGE0="當按鍵 %1 被 %2 時",VF.MPYTHON2_BUTTON_EVENT_HELPURL="",VF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",VF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",VF.MPYTHON2_BUTTON_EVENT_RELEASED="松開",VF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",VF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="觸摸鍵 %1 已經按下",VF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",VF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="觸摸鍵 %1 曾經按下",VF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",VF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="觸摸鍵 %1 按下過的次數",VF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",VF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="觸摸鍵 %1 值",VF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",VF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",VF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",VF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="觸摸",VF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="釋放",VF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="設置觸摸鍵 %1 閥值為 %2",VF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",VF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",VF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",VF.BLE_UUID_TOOLTIP="",VF.BLE_SETUP_PERIPHERAL_HELPURL="",VF.BLE_SETUP_PERIPHERAL_TOOLTIP="",VF.BLE_SETUP_PERIPHERAL_MESSAGE0="構建 BLE 外圍設備對象 %1 顯示名稱 %2 Service UUID %3",VF.BLE_ADD_CHARACTERISTIC_HELPURL="",VF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",VF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定義 BLE 屬性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",VF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",VF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",VF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外圍設備 %1",VF.BLE_START_BROADCASTING="開始廣播",VF.BLE_STOP_BROADCASTING="停止廣播",VF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",VF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",VF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="讀 BLE 設備的屬性 %1",VF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",VF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",VF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="寫 BLE 設備的屬性 %1 %2 值 %3 Notify %4",VF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",VF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",VF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外圍設備斷開連接",VF.BLE_PERIPHERAL_MAC_HELPURL="",VF.BLE_PERIPHERAL_MAC_TOOLTIP="",VF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外圍設備 MAC地址",VF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",VF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",VF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="當 BLE 與中央設備建立連接時 %1 連接句柄 %2 地址類型 %3 中央設備的MAC地址 %4",VF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",VF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",VF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="當 BLE 設備的屬性值被改寫時 %1 連接句柄 %2 被寫屬性句柄 %3 寫入的數據 %4",VF.BLE_SETUP_CENTERAL_HELPURL="",VF.BLE_SETUP_CENTERAL_TOOLTIP="",VF.BLE_SETUP_CENTERAL_MESSAGE0="構建 BLE 中央設備對象 顯示名稱 %1",VF.BLE_CENTERAL_CONNECT_HELPURL="",VF.BLE_CENTERAL_CONNECT_TOOLTIP="",VF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央設備連接到 %1 %2",VF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",VF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",VF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外圍設備已連接 ?",VF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",VF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",VF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="設定 %1 為 已連接外圍設備 屬性對象 %2 Service UUID %3 Characteristic UUID %4",VF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",VF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",VF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="讀 已連接外圍設備的 屬性 %1 值",VF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",VF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",VF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="寫 已連接外圍設備的 屬性 %1 值 %2",VF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",VF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",VF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="當 已連接外圍設備發起 Notify 通知事件時 %1 屬性的值柄 %2 通知的屬性值 %3",VF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",VF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",VF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已連接的外圍設備 %1",VF.BLE_CENTERAL_CLOSE_HELPURL="",VF.BLE_CENTERAL_CLOSE_TOOLTIP="",VF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央設備 斷開連接",VF.BLE_INFO_NAME="藍牙名稱",VF.BLE_INFO_MAC="MAC地址",VF.BLE_INFO_RSSI="信號強度",VF.BLE_INFO_ADDRTYPE="地址類型",VF.BLE_INFO_ADVTYPE="廣播類型",VF.BLE_INFO_DATA="原始數據(元組)",VF.BLE_SETUP_UART_HELPURL="",VF.BLE_SETUP_UART_TOOLTIP="",VF.BLE_SETUP_UART_MESSAGE0="構建 BLE UART從機 顯示名稱 %1",VF.BLE_UART_IS_CONNECTED_HELPURL="",VF.BLE_UART_IS_CONNECTED_TOOLTIP="",VF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已連接 ?",VF.BLE_UART_ANY_HELPURL="",VF.BLE_UART_ANY_TOOLTIP="",VF.BLE_UART_ANY_MESSAGE0="BLE UART 可讀字節數量",VF.BLE_UART_IRQ_HELPURL="",VF.BLE_UART_IRQ_TOOLTIP="",VF.BLE_UART_IRQ_MESSAGE0="當 BLE UART 接收到數據時 %1 執行 %2",VF.BLE_UART_READ_HELPURL="",VF.BLE_UART_READ_TOOLTIP="從 UART 另一端發送過來的消息",VF.BLE_UART_READ_MESSAGE0="已接收數據",VF.BLE_UART_WRITE_HELPURL="",VF.BLE_UART_WRITE_TOOLTIP="",VF.BLE_UART_WRITE_MESSAGE0="BLE UART 發送字節 %1",VF.BLE_UART_CLOSE_HELPURL="",VF.BLE_UART_CLOSE_TOOLTIP="",VF.BLE_UART_CLOSE_MESSAGE0="BLE UART 斷開連接",VF.BLE_SETUP_UART_MASTER_HELPURL="",VF.BLE_SETUP_UART_MASTER_TOOLTIP="",VF.BLE_SETUP_UART_MASTER_MESSAGE0="構建 BLE UART主機 連接到 %1 %2",VF.BLE_SETUP_HID_HELPURL="",VF.BLE_SETUP_HID_TOOLTIP="",VF.BLE_SETUP_HID_MESSAGE0="構建 BLE HID %1 對象 %2 顯示名稱 %3 電池電量 %4",VF.BLE_HID_MOUSE="鼠標",VF.BLE_HID_KEYBOARD="鍵盤",VF.BLE_HID_CONSUMER="遙控器",VF.BLE_HID_ADVERTISE_HELPURL="",VF.BLE_HID_ADVERTISE_TOOLTIP="",VF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID設備 %1",VF.BLE_HID_CONNECT_EVENT_HELPURL="",VF.BLE_HID_CONNECT_EVENT_TOOLTIP="",VF.BLE_HID_CONNECT_EVENT_MESSAGE0="當 BLE HID設備 連接時",VF.BLE_HID_DISCONNECT_HELPURL="",VF.BLE_HID_DISCONNECT_TOOLTIP="",VF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID設備 斷開連接",VF.BLE_HID_BATTERY_LEVEL_HELPURL="",VF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",VF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID設備 電池電量",VF.BLE_HID_MOUSE_BUTTONS_HELPURL="",VF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",VF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠標鍵 %1",VF.BLE_HID_MOUSE_CLICK_HELPURL="",VF.BLE_HID_MOUSE_CLICK_TOOLTIP="",VF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠標 點擊按鍵 %1",VF.BLE_HID_MOUSE_PRESS_HELPURL="",VF.BLE_HID_MOUSE_PRESS_TOOLTIP="",VF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠標 長按按鍵 %1",VF.BLE_HID_MOUSE_RELEASE_HELPURL="",VF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",VF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠標 釋放按鍵 %1",VF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",VF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",VF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠標 釋放所有按鍵",VF.BLE_HID_MOUSE_MOVE_HELPURL="",VF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光標移動量,範圍 ±127 。\nwheel - 滾輪,範圍 ±127 。",VF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠標 光標移動 %1 X軸移動量 %2 Y軸移動量 %3 滾輪 %4",VF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",VF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",VF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="鍵盤按鍵 %1",VF.BLE_HID_KEYBOARD_SEND_HELPURL="",VF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",VF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 鍵盤 按下按鍵 %1",VF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",VF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",VF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 鍵盤 同時按下按鍵 %1 %2 %3",VF.BLE_HID_KEYBOARD_PRESS_HELPURL="",VF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",VF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 鍵盤 長按按鍵 %1",VF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",VF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",VF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 鍵盤 釋放按鍵 %1",VF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",VF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",VF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 鍵盤 釋放所有按鍵",VF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",VF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",VF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遙控器鍵 %1",VF.BLE_HID_CONSUMER_SEND_HELPURL="",VF.BLE_HID_CONSUMER_SEND_TOOLTIP="",VF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遙控器點擊 %1",VF.BLE_SETUP_IBEACON_HELPURL="",VF.BLE_SETUP_IBEACON_TOOLTIP="",VF.BLE_SETUP_IBEACON_MESSAGE0="構建 BLE iBeacon設備 %1 UUID %2 major %3 minor %4",VF.BLE_IBEACON_ADVERTISE_HELPURL="",VF.BLE_IBEACON_ADVERTISE_TOOLTIP="",VF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon設備 %1",VF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",VF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回電量,單位mV",VF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的電壓值(mV)",VF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",VF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回編碼後的紅外脈沖數據buff",VF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 紅外脈沖任意編碼 %1 載波頻率(Hz) %2 code總數 %3 循環碼位置 %4 code列表 %5 編碼波形數據 %6",VF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",VF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回編碼後的紅外脈沖數據buff\n用戶碼:0~255\n命令碼:0~255",VF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 紅外脈沖NEC編碼 %1 用戶碼 %2 命令碼 %3",VF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",VF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",VF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 發送紅外脈沖數據 %1 %2",VF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只發一次",VF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持續發送",VF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",VF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="當發送重復碼後,使用此函數來停止發送。",VF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止發送紅外脈沖數據",VF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",VF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="學習開始後,需等待4秒,之後返回學習結果。",VF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 開始紅外學習",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 紅外學習有結果 ?",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回學習後的“紅外編碼數據”,須在 learn 函數後使用。",VF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 學習到的紅外編碼數據",VF.MPYTHON_MLX90615_SET_HELPURL="",VF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接觸測溫傳感器 設置發射系數%1",VF.MPYTHON_MLX90615_SET_TOOLTIP="",VF.MPYTHON_MLX90615_GET_HELPURL="",VF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取系數",VF.MPYTHON_MLX90615_GET_TOOLTIP="",VF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",VF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取測溫",VF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",VF.MPYTHON_MQ135_INIT_HELPURL="",VF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 輸出引腳%1 溫度%2 ℃ 濕度%3 %",VF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 連接擴展板的電源口 V ,GND連接擴展板的地線口 G ,AO輸出連接擴展板的引腳 P0/P1(即選引腳)\nMQ135主要用於檢測空氣中的二氧化碳、酒精、苯、氮氧化物、氨等氣體的濃度",VF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",VF.MPYTHON_MQ135_OPTIONS_HELPURL="",VF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探測到的二氧化碳的百萬分之一(假設只有空氣中的二氧化碳) ppm濃度",VF.MPYTHON_MQ135_GET_RZERO="校正傳感器電阻",VF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正傳感器電阻(校準溫度、濕度)",VF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度",VF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度(校準溫度、濕度)",VF.mpython_gyroscope_get_HELPURL="",VF.mpython_gyroscope_get_MESSAGE0="%1 軸角速度",VF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版適用",VF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",VF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",VF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",VF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",VF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",VF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",VF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",VF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",VF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",VF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="設置角速度範圍,默認為 ±256dps。僅適用於掌控板2.3及以上版本",VF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="設置角速度範圍為 %1",VF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",VF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校準陀螺儀角速度計的3個軸(x,y,z)的角速度值偏差。\n一般情況下無需校準,只有遇到角速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1024dps。\n註意:v2.3版本以後適用",VF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校準角速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4";const kF=VF,wF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"is number",TEXT_IS_ALPHA:"is letter",TEXT_IS_ALNUM:"is mix of numbers and letters",REDO:"Redo",UNDO:"Undo",DELETE_VARIABLE:'Delete "%1" variable',DELETE_VARIABLE_CONFIRMATION:'Delete %1 of the "%2" variable?',CONTROLS_REPEAT_FOREVER:"repeat forever",CONTROLS_REPEAT_FOREVER_TOOLTIP:"Do some statements forever times",TEXT_LIST_START:"create list [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"create tuple (",TEXT_TUPLE_END:")",TEXT_DICT_START:"create dictionary {",TEXT_DICT_END:"}",TEXT_SET_START:"create set {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",TUPLE_CREATE_EMPTY_TITLE:"create empty tuple",DICT_CREATE_EMPTY_TITLE:"create empty dictionary",SET_CREATE_EMPTY_TITLE:"create empty sets",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"tuple",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"dictionary",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"sets",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or rearrange sections to reconfigure this tuple block.",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or rearrange sections to reconfigure this dictionary block.",TUPLE_CREATE_WITH_INPUT_WITH:"create tuple with",DICT_CREATE_WITH_INPUT_WITH:"create dictionary with",SET_CREATE_WITH_INPUT_WITH:"create sets with",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the tuple.",DICT_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the dictionary.",SET_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the sets.",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"ascending",LISTS_SORT_ORDER_DESCENDING:"descending",LISTS_SORT_TITLE:"sort %1 %2 %3",LISTS_SORT_TOOLTIP:"Sort a copy of a list.",LISTS_SORT_TYPE_IGNORECASE:"by letter, ignore case",LISTS_SORT_TYPE_NUMERIC:"by number",LISTS_SORT_TYPE_TEXT:"by letter",labplus_mapping_MESSAGE0:"map %1 from %2 , %3 to %4 , %5",labplus_mapping_TOOLTIP:"Map 10 of 0~100 to 0~200 and return the mapped value",labplus_mapping_HELPURL:"",MPYTHON_OPEN:"on",MPYTHON_CLOSE:"off",MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT:"shift left",MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT:"shift right",MPYTHONBOX_RGB_IMAGE_SHIFT_UP:"shift up",MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN:"shift down",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE:"grayscale",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW:"rainbow",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE:"negate",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT:"invert",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR:"line polar",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR:"log polar",MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE:"grayscale",MPYTHON_AI_SENSOR_PATTERN_COLOR:"color",MPYTHON_AI_SENSOR_ENABLE_START:"start capturing image",MPYTHON_AI_SENSOR_ENABLE_STOP:"stop capturing image",MPYTHON_AI_SENSOR_LEVEL_MI_H:"horizontal mirror",MPYTHON_AI_SENSOR_LEVEL_MI_V:"vertical flip",MPYTHON_AI_SENSOR_SETS_CONTRAST:"contrast",MPYTHON_AI_SENSOR_SETS_BRIGHTNESS:"brightness",MPYTHON_AI_SENSOR_SETS_SATURATION:"saturation",MPYTHON_AI2_FACE_YOLO:"FACE YOLO",MPYTHON_AI2_CLASS_20_YOLO:"CLASS 20 YOLO",MPYTHON_AI_TRACE_COLOR_RECTANGLE:"rectangle",MPYTHON_AI_TRACE_COLOR_CROSS:"cross",TEXT_APPEND_TEXT_HELPURL:"",TEXT_APPEND_TEXT_TOOLTIP:"",TEXT_APPEND_TEXT_MESSAGE0:"%1 append text %2",MPYTHON_AUDIO_PLAY_chirp_MESSAGE0:"鸟叫",MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0:"钢琴黑暗旋律配乐",MPYTHON_AUDIO_PLAY_miaow_MESSAGE0:"猫叫",MPYTHON_AUDIO_PLAY_bark_MESSAGE0:"小狗吠叫",MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0:"浑厚的打击音",MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0:"紧张效果的音效",MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0:"拍照快门声",MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0:"数百只苍蝇",MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0:"蟋蟀叫声",MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0:"摇晃低音声线",MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0:"听众欢呼掌声",MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0:"邮轮汽笛",MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0:"现代电话铃声",MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0:"拔萝卜",MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0:"两只老虎",MPYTHON_AUDIO_SET_VOLUME_HELPURL:"",MPYTHON_AUDIO_SET_VOLUME_MESSAGE0:"set Audio volume as %1",MPYTHON_AUDIO_SET_VOLUME_TOOLTIP:"",MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL:"",MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0:"expansion-board speed of DC motor %1",MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP:"",MPYTHON_M1M2_LED_ON_HELPURL:"",MPYTHON_M1M2_LED_ON_MESSAGE0:"expansion-board set led at %1 brightness %2",MPYTHON_M1M2_LED_ON_TOOLTIP:"",MPYTHON_M1M2_LED_OFF_HELPURL:"",MPYTHON_M1M2_LED_OFF_MESSAGE0:"expansion-board turn off led at %1",MPYTHON_M1M2_LED_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0:"I2C RFID Read wallet data",MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP:"Read block data, length 16 bytes",MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0:"I2C RFID Write wallet data%1",MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP:"Write block data, length 16 bytes",MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0:"I2C RFID wallet%1 money%2",MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0:"Recharge",MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0:"Deduction fee",MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0:"I2C RFID Get wallet balance",MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0:"I2C RFID Get serial number",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0:"I2C RFID Initialize Wallet",MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0:"I2C RFID scanning",MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0:"I2C ultrasonic value",MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP:"",MPYTHON_BLUEBIT_ULTRASONIC_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0:"%1 on pin %2 be triggered",MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP:"",MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0:"%1 on pin %2 analog value",MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP:"",MPYTHON_BLUEBIT_READ_ANALOG_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0:"set LED on pin %2 value as %1",MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP:"",MPYTHON_BLUEBIT_SET_ANALOG_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0:"tracking sensor on pin %1 detected as black",MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP:"",MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_TRUE_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0:"turn on %1 on pin %2",MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FALSE_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0:"turn off %1 on pin %2",MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL:"http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0:"turn on recorder %1 %2 REC %3 PLAY %4",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL:"http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0:"turn off recorder %1 REC %2 PLAY %3",MPYTHON_BLUEBIT_VOICE_RECORD_PLAY:"PLAY",MPYTHON_BLUEBIT_VOICE_RECORD_REC:"REC",STOP:("STOP","STOP"),MPYTHON_BLUEBIT_IR_RECEIVE:"infrared detection",MPYTHON_BLUEBIT_SOUND:"microphone",MPYTHON_BLUEBIT_LINE_FOLLOWER:"tracking sensor",MPYTHON_BLUEBIT_VIBRATION:"vibration sensor",MPYTHON_BLUEBIT_RFID:"RF card",MPYTHON_BLUEBIT_FINGERPRINT_SCANNER:"fingerprint scanner",MPYTHON_BLUEBIT_PIR:"PIR sensor",MPYTHON_BLUEBIT_MAGNETIC:"magnetic switch",MPYTHON_BLUEBIT_BUTTON:"button",MPYTHON_BLUEBIT_RELAY:"relay",MPYTHON_BLUEBIT_LIMIT_SWITCH:"limit switch",MPYTHON_BLUEBIT_FAN:"fan",MPYTHON_BLUEBIT_LASER:"laser",MPYTHON_BLUEBIT_NTC_TEMP:"NTC temperature",MPYTHON_BLUEBIT_WATER:"water level",MPYTHON_BLUEBIT_SOIL_MOISTURE:"soil moisture",MPYTHON_BLUEBIT_ROTATE_DIMMER:"rotate dimmer",MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER:"sliding potentiometer",MPYTHON_BLUEBIT_ANALOG_LIGHT:"analog light",MPYTHON_BLUEBIT_LM35_TEMP:"LM35 temperature",MPYTHON_BLUEBIT_SMOKE:"smoke",MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE:"corotation",MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE:"reverse",MPYTHON_BLUEBIT_READ_SOIL_HELPURL:"",MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP:"New soil moisture",MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0:"soil moisture(new)%1",MPYTHON_BLUEBIT_MOTOR_ON_HELPURL:"http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP:"speed:Map -100~100 to -1023~1023",MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0:"turn on DC motor %1 speed %2 pin AIN1 %3 pin AIN2 %4",MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL:"http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0:"stop DC motor %1 pin AIN1 %2 pin AIN2 %3",MPYTHON_BLUEBIT_SET_FAN_HELPURL:"",MPYTHON_BLUEBIT_SET_FAN_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FAN_MESSAGE0:"expansion-board turn on the fan %1",MPYTHON_LEFT:"LEFT",MPYTHON_RIGHT:"RIGHT",MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL:"",MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0:"expansion-board turn off the fan %1",MPYTHON_BLUEBIT_4BUTTON_HELPURL:"http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",MPYTHON_BLUEBIT_4BUTTON_TOOLTIP:"",MPYTHON_BLUEBIT_4BUTTON_MESSAGE0:"Navigation button module pin %1 button %2 is pressed",BLUE:"A",GREEN:"B",RED:"C",YELLOW:"D",MPYTHON_BLUEBIT_JOYSTICK_HELPURL:"",MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP:"",MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0:"Thumb joystick pin A0 %1 pin A1 %2 %3 axis",MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP:"speed: 0~100",MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0:"expansion-board turn on DC motor %1 %2 speed %3",MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL:"",MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP:"speed: 0~100",MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0:"expansion-board stop DC motor",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP:"speed: -1023~1023",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0:"Coded motor mode%1 dial code%2 M1 speed%3 M2 speed%4",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP:"Stop Coding Motor Rotation",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0:"Stop Coding Motor Rotation %1",MPYTHON_BLUEBIT_INIT_MIDI_HELPURL:"",MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0:"Initialize MIDI TX pin %1",MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP:"",MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL:"",MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0:"Set MIDI volume as %1",MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP:"volume range:0~127",MIDI_PIANO:"ACOUSTIC GRAND PIANO",MIDI_BRIGHTACOUSTICPIANO:"BRIGHT ACOUSTIC PIANO",MIDI_ELECTRICGRANDPIANO:"ELECTRIC GRAND PIANO",MIDI_HARPSICHORD:"HARPSICHORD",MIDI_CELESTA:"CELESTA",MIDI_GLOCKENSPIEL:"GLOCKENSPIEL",MIDI_MUSICALBOX:"MUSICAL BOX",MIDI_MARIMBA:"MARIMBA",MIDI_XYLOPHONE:"XYLOPHONE",MIDI_TUBULARBELL:"TUBULAR BELL",MIDI_DULCIMER:"DULCIMER",MIDI_VIBRAPHONE:"VIBRAPHONE",MIDI_ORGAN:"DRAWBAR ORGAN",MIDI_ACOUSTIC_GUITAR:"ACOUSTIC GUITAR",MIDI_ELECTRIC_GUITAR:"ELECTRIC GUITAR",MIDI_ACOUSTIC_BASS:"ACOUSTIC BASS",MIDI_STRING_ENSEMBLE:"STRING ENSEMBLE",MIDI_VIOLIN:"VIOLIN",MIDI_TRUMPET:"TRUMPET",MIDI_SAX:"SAX",MIDI_STEEL_DRUMS:"STEEL DRUMS",MIDI_LEAD:"LEAD",MIDI_PAD:"PAD",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL:"",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0:"Set MIDI instrument as %1",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP:"",MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL:"",MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0:"MIDI %1 tone %2",MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0:"Set matrix`s brightness level as %1",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP:"brightness level:0~15",MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0:"Set matrix %1",MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0:"Set matrix %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0:"The setting of matrix takes effect",MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP:"",MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL:"",MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0:"Set MP3 volume as %1",MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP:"volume:0~30",MPYTHON_BLUEBIT_MP3_INIT_HELPURL:"",MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0:"Init MP3 TX pin %1",MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP:"The tx pin of the mPython board is connected to the RXI pin of the music module",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL:"",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0:"MP3 volume %1",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP:"",MPYTHON_PLUS_1:"plus 1",MPYTHON_MINUS_1:"minus 1",MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL:"",MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0:"Mp3 plays song with order %1",MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP:"",PAUSE:"PAUSE",PLAY:"GO ON",PLAYNEXT:"NEXT SONG",PLAYPREV:"LAST SONG",MPYTHON_BLUEBIT_MP3_CMD_HELPURL:"",MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0:"MP3 play %1",MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP:"",LABPLUS_USB_SWITCH_ON:"ON",LABPLUS_USB_SWITCH_OFF:"OFF",MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL:"",MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0:"MP3 single-loop mode %1",MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP:"",MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0:"Set EXT IO module`s IO %2 as %1",MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP:"IO: 0~7",LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT:"OUTPUT",LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT:"INPUT",MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0:"Value of EXT IO at IO %1",MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP:"",MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0:"Set EXT IO module`s IO %2 as %1",MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP:"",MPYTHON_LCD_OBJECT_HELPURL:"",MPYTHON_LCD_OBJECT_MESSAGE0:"initialise LCD1602",MPYTHON_LCD_OBJECT_TOOLTIP:"",MPYTHON_LCD_PRINT_HELPURL:"",MPYTHON_LCD_PRINT_MESSAGE0:"LCD1602 display %1",MPYTHON_LCD_PRINT_TOOLTIP:"",MPYTHON_LCD_HOME_HELPURL:"",MPYTHON_LCD_HOME_MESSAGE0:"LCD1602 cursor returns to the origin",MPYTHON_LCD_HOME_TOOLTIP:"",MPYTHON_LCD_CURSOR_HELPURL:"",MPYTHON_LCD_CURSOR_MESSAGE0:"LCD1602 cursor %1",MPYTHON_LCD_CURSOR_TOOLTIP:"",MPYTHON_LCD_SET_CURSOR_HELPURL:"",MPYTHON_LCD_SET_CURSOR_MESSAGE0:"LCD1602 starts with row %2 column %1",MPYTHON_LCD_SET_CURSOR_TOOLTIP:"Row and column count from 0",MPYTHON_LCD_CLEAR_HELPURL:"",MPYTHON_LCD_CLEAR_MESSAGE0:"LCD1602 clear",MPYTHON_LCD_CLEAR_TOOLTIP:"",MPYTHON_LCD_CURSOR_BLINK:"BLINK",MPYTHON_LCD_CURSOR_NO_BLINK:"NO BLINK",MPYTHON_LEFT_TO_RIGHT:"LEFT TO RIGHT",MPYTHON_RIGHT_TO_LEFT:"RIGHT TO LEFT",MPYTHON_LCD_TEXT_DIRECTION_HELPURL:"",MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0:"LCD1602 text direction %1",MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP:"",MPYTHON_LCD_MOVE_HELPURL:"",MPYTHON_LCD_MOVE_MESSAGE0:"LCD1602 scrolls a column to %1",MPYTHON_LCD_MOVE_TOOLTIP:"",MPYTHON_IR_TRANS_HELPURL:"",MPYTHON_IR_TRANS_MESSAGE0:"infrared transmission of string with one byte length %1 tx pin %2",MPYTHON_IR_TRANS_TOOLTIP:"string with one byte length: 'A', 'b', '1' and so on",OUTPUT_PIN_HELPURL:"",OUTPUT_PIN_MESSAGE0:"%1",OUTPUT_PIN_TOOLTIP:"",INPUT_PIN_HELPURL:"",INPUT_PIN_MESSAGE0:"%1",INPUT_PIN_TOOLTIP:"",READ_ANALOG_PIN_HELPURL:"",READ_ANALOG_PIN_MESSAGE0:"%1",READ_ANALOG_PIN_TOOLTIP:"",SET_DIGITAL_HELPURL:"",SET_DIGITAL_MESSAGE0:"%1",SET_DIGITAL_TOOLTIP:"",SET_ANALOG_HELPURL:"",SET_ANALOG_MESSAGE0:"%1",SET_ANALOG_TOOLTIP:"",ALL_PIN_HELPURL:"",ALL_PIN_MESSAGE0:"%1",ALL_PIN_TOOLTIP:"",PWM_PIN_HELPURL:"",PWM_PIN_MESSAGE0:"%1",PWM_PIN_TOOLTIP:"",DH11_HUM_TEM_PIN_HELPURL:"",DH11_HUM_TEM_PIN_MESSAGE0:"%1",DH11_HUM_TEM_PIN_TOOLTIP:"",UART_TX_PIN_HELPURL:"",UART_TX_PIN_MESSAGE0:"%1",UART_TX_PIN_TOOLTIP:"",UART_RX_PIN_HELPURL:"",UART_RX_PIN_MESSAGE0:"%1",UART_RX_PIN_TOOLTIP:"",I2C_PIN_HELPURL:"",I2C_PIN_MESSAGE0:"%1",I2C_PIN_TOOLTIP:"",MQTT_COMMON_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_COMMON_SETUP_MESSAGE0:"MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",MQTT_COMMON_SETUP_TOOLTIP:"",MQTT_TENCENT_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_TENCENT_SETUP_MESSAGE0:"MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8",MQTT_TENCENT_SETUP_TOOLTIP:"",MQTT_TENCENT_SETUPS_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_TENCENT_SETUPS_MESSAGE0:"MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8",MQTT_TENCENT_SETUPS_TOOLTIP:"",MQTT_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_SETUP_MESSAGE0:"MQTT-Easy IoT %1 Server %2 Client ID %5 Iot_id %3 Iot_pwd %4",MQTT_SETUP_TOOLTIP:"",MQTT_CONNECT_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_CONNECT_MESSAGE0:"connect to MQTT",MQTT_CONNECT_TOOLTIP:"",MQTT_PUBLISH_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_PUBLISH_MESSAGE0:"publish %1 to topic %2",MQTT_PUBLISH_TOOLTIP:"",MQTT_REC_FROM_TOPIC_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_REC_FROM_TOPIC_MESSAGE0:"when recieved %2 from topic %1",MQTT_REC_FROM_TOPIC_TOOLTIP:"",MQTT_RECEIVE_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_RECEIVE_MESSAGE0:"when recieved %2 from topic %1",MQTT_RECEIVE_TOOLTIP:'Parameter "topic" only accepts variable',MQTT_RECEIVED_MESSAGE0:"when recieved message from topic %1",MQTT_MESSAGE_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_MESSAGE_MESSAGE0:"message from MQTT",MQTT_MESSAGE_TOOLTIP:"",MQTT_WAIT_MSG_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_WAIT_MSG_MESSAGE0:"wait for topic message in %1 mode",MQTT_WAIT_MSG_TOOLTIP:"It is recommended to run in 'while True'",MQTT_DISCONNECT_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_DISCONNECT_MESSAGE0:"disconnect from MQTT",MQTT_DISCONNECT_TOOLTIP:"",MQTT_LAST_WILL_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",MQTT_LAST_WILL_MESSAGE0:"set MQTT topic %2 last will message as %1",MQTT_LAST_WILL_TOOLTIP:'Set the MQTT "last will" message. Should be called before connect().',MPYTHON_SIOT_CONNECT_HELPURL:"",MPYTHON_SIOT_CONNECT_TOOLTIP:"",MPYTHON_SIOT_CONNECT_MESSAGE0:"SIoT setting %1 client_id %2 server %3 user %4 password %5",MPYTHON_SIOT_ISCONNECTED_HELPURL:"",MPYTHON_SIOT_ISCONNECTED_TOOLTIP:"",MPYTHON_SIOT_ISCONNECTED_MESSAGE0:"SIoT is connected ?",MPYTHON_SIOT_SUBSCRIBE_HELPURL:"",MPYTHON_SIOT_SUBSCRIBE_TOOLTIP:"",MPYTHON_SIOT_SUBSCRIBE_MESSAGE0:"SIoT subscribe",MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE:"click the left star to subscribe SIoT topic",MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH:"subscribe SIoT Topic1",MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE:"Topic",MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP:"",MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD:"add up to 5 topics",MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP:"",MPYTHON_SIOT_DISCONNECT_HELPURL:"",MPYTHON_SIOT_DISCONNECT_TOOLTIP:"",MPYTHON_SIOT_DISCONNECT_MESSAGE0:"SIoT disconnect",MPYTHON_SIOT_MESSAGE_HELPURL:"",MPYTHON_SIOT_MESSAGE_TOOLTIP:"",MPYTHON_SIOT_MESSAGE_MESSAGE0:"SIoT message",MPYTHON_SIOT_TOPIC1:"Topic1",MPYTHON_SIOT_TOPIC2:"Topic2",MPYTHON_SIOT_TOPIC3:"Topic3",MPYTHON_SIOT_TOPIC4:"Topic4",MPYTHON_SIOT_TOPIC5:"Topic5",MPYTHON_SIOT_PUBLISH_HELPURL:"",MPYTHON_SIOT_PUBLISH_TOOLTIP:"",MPYTHON_SIOT_PUBLISH_MESSAGE0:"SIoT publish message %1 to %2",MPYTHON_SIOT_PUBLISH_TO_MESSAGE0:"SIoT publish message %1 to topic %2",MPYTHON_SIOT_RECEIVE_HELPURL:"",MPYTHON_SIOT_RECEIVE_TOOLTIP:"",MPYTHON_SIOT_RECEIVE_MESSAGE0:"when SIoT received message from %1 %2 do %3",MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0:"when SIoT received message from topic %1 %2 do %3",MPYTHON_IR_RECV_HELPURL:"",MPYTHON_IR_RECV_MESSAGE0:"infrared received int at rx pin %1",MPYTHON_IR_RECV_TOOLTIP:"The first time the receive is always empty",MPYTHON_BLUEBIT_OLED_PRINT_HELPURL:"",MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0:"bluebit OLED show %1 at x %2 y %3",MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_INIT_HELPURL:"",MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0:"bluebit OLED init at tx %1 rx %2",MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL:"",MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0:"bluebit OLED clear",MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_BMP_HELPURL:"",MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0:"bluebit OLED show image x %1 y %2 width %3 height %4 with hex image data %5",MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP:"",MICROBIT_GESTURE_SHAKE:"shake",MICROBIT_GESTURE_UP:"up",MICROBIT_GESTURE_DOWN:"down",MICROBIT_GESTURE_LEFT:"left",MICROBIT_GESTURE_RIGHT:"Right",MICROBIT_GESTURE_FACE_UP:"upward",MICROBIT_GESTURE_FACE_DOWN:"down",MICROBIT_GESTURE_FREEFAIL:"free fall",MICROBIT_IMAGE_HEART:"heart",MICROBIT_IMAGE_HEART_SMALL:"heart (small)",MICROBIT_IMAGE_HAPPY:"Happy",MICROBIT_IMAGE_SMILE:"Smile Face",MICROBIT_IMAGE_SAD:"sad",MICROBIT_IMAGE_CONFUSED:"confusion",MICROBIT_IMAGE_ANGRY:"angry",MICROBIT_IMAGE_ASLEEP:"Sleep",MICROBIT_IMAGE_SUPRISED:"surprise",MICROBIT_IMAGE_SILLY:"Stupid",MICROBIT_IMAGE_FABULOUS:"Wonderful",MICROBIT_IMAGE_MEH:"Boredom",MICROBIT_IMAGE_YES:"Yes",MICROBIT_IMAGE_NO:"No",MICROBIT_IMAGE_CLOCK12:"12 clock",MICROBIT_IMAGE_CLOCK11:"11 clock",MICROBIT_IMAGE_CLOCK10:"10 clock",MICROBIT_IMAGE_CLOCK9:"9 clock",MICROBIT_IMAGE_CLOCK8:"8 clock",MICROBIT_IMAGE_CLOCK7:"7 clock",MICROBIT_IMAGE_CLOCK6:"6 clock",MICROBIT_IMAGE_CLOCK5:"5 clock",MICROBIT_IMAGE_CLOCK4:"4 clock",MICROBIT_IMAGE_CLOCK3:"3 clock",MICROBIT_IMAGE_CLOCK2:"2 clock",MICROBIT_IMAGE_CLOCK1:"1 clock",MICROBIT_IMAGE_ARROW_N:"Arrow-North",MICROBIT_IMAGE_ARROW_NE:"Arrow-Northeast",MICROBIT_IMAGE_ARROW_E:"arrow-east",MICROBIT_IMAGE_ARROW_SE:"arrow-southeast",MICROBIT_IMAGE_ARROW_S:"Arrow-South",MICROBIT_IMAGE_ARROW_SW:"arrow-southwest",MICROBIT_IMAGE_ARROW_W:"Arrow-West",MICROBIT_IMAGE_ARROW_NW:"Arrow-Northwest",MICROBIT_IMAGE_TRIANGLE:"triangle",MICROBIT_IMAGE_TRIANGLE_LEFT:"left triangle",MICROBIT_IMAGE_CHESSBOARD:"chessboard",MICROBIT_IMAGE_DIAMOND:"diamond",MICROBIT_IMAGE_DIAMOND_SMALL:"diamond (small)",MICROBIT_IMAGE_SQUARE:"square",MICROBIT_IMAGE_SQUARE_SMALL:"Square (small)",MICROBIT_IMAGE_RABBIT:"Rabbit",MICROBIT_IMAGE_COW:"cow",MICROBIT_IMAGE_MUSIC_CROTCHET:"quarter note",MICROBIT_IMAGE_MUSIC_QUAVER:"octave",MICROBIT_IMAGE_MUSIC_QUAVERS:"tremolo",MICROBIT_IMAGE_PITCHFORK:"fork",MICROBIT_IMAGE_XMAS:"Christmas Tree",MICROBIT_IMAGE_PACMAN:"Bean Eater",MICROBIT_IMAGE_TARGET:"target",MICROBIT_IMAGE_TSHIRT:"T-shirt",MICROBIT_IMAGE_ROLLERSKATE:"Roller Skating",MICROBIT_IMAGE_DUCK:"duck",MICROBIT_IMAGE_HOUSE:"House",MICROBIT_IMAGE_TORTOISE:"tortoise",MICROBIT_IMAGE_BUTTERFLY:"Butterfly",MICROBIT_IMAGE_STICKFIGURE:"line drawing",MICROBIT_IMAGE_GHOST:"Ghost",MICROBIT_IMAGE_SWORD:"Sword",MICROBIT_IMAGE_GIRAFFE:"Giraffe",MICROBIT_IMAGE_SKULL:"Head",MICROBIT_IMAGE_UMBRELLA:"umbrella",MICROBIT_IMAGE_SNAKE:"snake",MICROBIT_IMAGE_ALL_CLOCKS:"All Clocks",MICROBIT_IMAGE_ALL_ARROWS:"All arrows",mpython_bme280_hum_tem_pre_MESSAGE0:("Meteorological %1","%1"),mpython_bme280_hum_tem_pre_TOOLTIP:("%","Air pressure unit is 'Pa', temperature unit is 'Celsius', ambient humidity unit is '%'"),mpythonbox_sound_MESSAGE0:"Sound value",mpythonbox_sound_TOOLTIP:"0~4095。",mpythonbox_sound_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",MPYTHONBOX_SLIDER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_SLIDER_MESSAGE0:"Slide bar",MPYTHONBOX_SLIDER_TOOLTIP:"0~4095。",MPYTHONBOX_5BUTTON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_5BUTTON_MESSAGE0:"Five way button%1",MPYTHONBOX_5BUTTON_TOOLTIP:"",MPYTHONBOX_MOTOR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_MOTOR_MESSAGE0:"Motor speed%1",MPYTHONBOX_MOTOR_TOOLTIP:"",MPYTHONBOX_ULTRASONIC_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",MPYTHONBOX_ULTRASONIC_MESSAGE0:"Ultrasonic",MPYTHONBOX_ULTRASONIC_TOOLTIP:"3~340CM",MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0:"Human body infrared",MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP:"",MPYTHONBOX_RGB_pixel_HELPURL:"",MPYTHONBOX_RGB_pixel_MESSAGE0:"Set column%1 line%2 R%3 G%4 B%5",MPYTHONBOX_RGB_pixel_TOOLTIP:"",MPYTHONBOX_RGB_get_pixel_HELPURL:"",MPYTHONBOX_RGB_get_pixel_MESSAGE0:"Returns the RGB color of column%1, line%2",MPYTHONBOX_RGB_get_pixel_TOOLTIP:"",MPYTHONBOX_RGB_ImageText_HELPURL:"",MPYTHONBOX_RGB_ImageText_MESSAGE0:"Scroll Display Text%1 Speed%2",MPYTHONBOX_RGB_ImageText_TOOLTIP:"",MPYTHONBOX_RGB_SetImage_HELPURL:("",""),MPYTHONBOX_RGB_SetImage_TOOLTIP:("",""),MPYTHONBOX_RGB_SetImage_MESSAGE0:("Create image %1 row1 %2 row2 %3 row3 %4 row4 %5 row5 %6","Create an image %1 The first line%2, the second line%3, the third line%4, the fourth line%5, the fifth line%6"),MPYTHONBOX_RGB_Image_HELPURL:"",MPYTHONBOX_RGB_Image_MESSAGE0:"According to the image%1",MPYTHONBOX_RGB_Image_TOOLTIP:"According to the image",MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0:"Display image/text %1",MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP:"",MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL:"",MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0:"Display image %1",MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP:"Display image。",MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL:"",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0:"Copy image %1",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP:"Copy image",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL:"",MPYTHONBOX_RGB_ImageCot_HELPURL:"",MPYTHONBOX_RGB_ImageCot_MESSAGE0:"Cut image%1 column%2 rows%3 width%4 high%5",MPYTHONBOX_RGB_ImageCot_TOOLTIP:"Cut image",MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0:"Built in image %1",MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP:"Select a built-in image.",MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL:"",MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0:"Translation image %1 %2 %3 ",MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP:"Move the image in a specific direction and return the result of the move.",MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL:"",MPYTHONBOX_RGB_clear_HELPURL:"",MPYTHONBOX_RGB_clear_MESSAGE0:"Turn off all RGB",MPYTHONBOX_RGB_clear_TOOLTIP:"",MPYTHONBOX_RGB_pixel_return_HELPURL:"",MPYTHONBOX_RGB_pixel_return_MESSAGE0:"Return %1 column %2 line colour",MPYTHONBOX_RGB_pixel_return_TOOLTIP:"Return to the number of columns, row RGB color",MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0:"%1Triaxial acceleration",MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP:"Unit g, range-2~+2g。",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0:"%1Triaxial angular velocity",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP:"range±500°/seconds",MPYTHONBOX_EULER_ANGLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_EULER_ANGLE_MESSAGE0:"%1Euler Angle",MPYTHONBOX_EULER_ANGLE_TOOLTIP:"Returns the current euler Angle(Pitch,Roll,Yaw),Unit Angle",MPYTHONBOX_QUATERNION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_QUATERNION_MESSAGE0:"%1quaternions",MPYTHONBOX_QUATERNION_TOOLTIP:"Returns the current quaternion(w,x,y,z)",MPYTHONBOX_CAMERA_LED_HELPURL:"",MPYTHONBOX_CAMERA_LED_MESSAGE0:"camear light %1",MPYTHONBOX_CAMERA_LED_TOOLTIP:"",LIST_FIRST_INDEX_HELPURL:"",LIST_FIRST_INDEX_MESSAGE0:"Location of item%1 in list%2 %3",LIST_FIRST_INDEX_TOOLTIP:"",MPYTHON_AI_LCD_INIT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",MPYTHON_AI_LCD_INIT_MESSAGE0:"Screen Initialization ",MPYTHON_AI_LCD_INIT_TOOLTIP:"",MPYTHON_AI_SENSOR_RESET_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",MPYTHON_AI_SENSOR_RESET_MESSAGE0:"Initialize the camera",MPYTHON_AI_SENSOR_RESET_TOOLTIP:"",MPYTHON_AI_SENSOR_ENABLE_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",MPYTHON_AI_SENSOR_ENABLE_MESSAGE0:"Camera%1",MPYTHON_AI_SENSOR_ENABLE_TOOLTIP:"",MPYTHON_AI_LCD_TEXT_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",MPYTHON_AI_LCD_TEXT_MESSAGE0:"Display text x %1 y %2 content %3",MPYTHON_AI_LCD_TEXT_TOOLTIP:"",MPYTHON_AI_SENSOR_SKIP_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",MPYTHON_AI_SENSOR_SKIP_MESSAGE0:"The number of frames skipped by the camera %1 Millisecond %2 ",MPYTHON_AI_SENSOR_SKIP_TOOLTIP:"",MPYTHON_AI_SENSOR_RETURN_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",MPYTHON_AI_SENSOR_RETURN_MESSAGE0:"测 摄像头 获取%1",MPYTHON_AI_SENSOR_RETURN_TOOLTIP:"",MPYTHON_AI_SENSOR_SETS_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",MPYTHON_AI_SENSOR_SETS_MESSAGE0:"Camera set %1 as %2",MPYTHON_AI_SENSOR_SETS_TOOLTIP:"",MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0:"Automatic gain of camera%1",MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP:"",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0:"Camera White Balance%1",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP:"",MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0:"Camera %1 %2",MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP:"",MPYTHON_AI_LCD_DISPLAY_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_DISPLAY_MESSAGE0:"Screen display takes effect",MPYTHON_AI_LCD_DISPLAY_TOOLTIP:"",MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0:"Image display takes effect x%1 y%2 wide%3 high%4",MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP:"",MPYTHON_AI_SENSOR_IMAGES_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",MPYTHON_AI_SENSOR_IMAGES_MESSAGE0:"Camera captures images",MPYTHON_AI_SENSOR_IMAGES_TOOLTIP:"",MPYTHON_AI_IMAGE_FACEDETECT_HELPURL:"https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0:"Face recognition",MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_REC_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_REC_MESSAGE0:"Rectangular%1 x%3 y%4 width%5 high%6 color R%7 G%8 B%9 coarsening%2",MPYTHON_AI_LCD_SHOW_REC_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0:"line x1%1 y1%2 reachx2%3 y2%4 Color isR%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_STRING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0:"Clear screen display",MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP:"",MPYTHON_AI_LCD_CLEAR_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_return_colour_MESSAGE0:"LCD Return x%1 y%2 colour",MPYTHON_AI_LCD_return_colour_TOOLTIP:"",MPYTHON_AI_LCD_return_colour_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0:"circular%1 x%2 y%3 radius%4 colour R%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_TEXT_MOST_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0:"Display text x %1 y %2 content %3 colourR%4 G%5 B%6 size%7",MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0:"Cross line x%1 y%2 colourR%3 G%4 B%5 size%6 Thickening%7",MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0:"Arrow x1%1 y1%2 x2%3 y2%4 colourR%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL:".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0:"Display image path%1",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0:"Image conversion to%1",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0:"Image from Cartesian coordinates to%1 Reprojection of coordinates %2",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0:"Image Expansion Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0:"Image Point Filtering Level%1 Wave filtering%2",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0:"Image Modal Filtering Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0:"Image Fuzzy Filtering Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0:"Image Cartoonization Level%1 Initial Pixel Difference%2 Adjacent pixel difference%3",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0:"Image 3D Rotation Up and Down%1 Rotate left and right%2 degrees%3 or so move%4 up and down move%5 zoom%6",MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0:"Save a copy of the image to the SD card image name%1 Image display area x%2 y%3 wide%4 high%5",MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0:"Create a copy of the image object to copy the image area x%1 y%2 wide%3 high%4",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP:"",MPYTHON_AI2_20CLASS_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_20CLASS_TRACKING_MESSAGE0:"20 kinds of recognition",MPYTHON_AI2_20CLASS_TRACKING_TOOLTIP:"",MPYTHON_AI2_NUMBER_DISCERN_HELPURL:("https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model","https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model"),MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0:("Handwritten Number Recognition",'set the training model to "Number ID"'),MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP:("","Select training model handwritten numerals"),MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0:"screen x%1 y%2 Display color R%3 G%4 B%5",MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP:"",MPYTHON_AI_LCD_COLOUR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",MPYTHON_AI_LCD_COLOUR_MESSAGE0:"Screen Initialization Display Color R%1 G%2 B%3",MPYTHON_AI_LCD_COLOUR_TOOLTIP:"",MPYTHON_AI_SENSOR_PATTERN_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",MPYTHON_AI_SENSOR_PATTERN_MESSAGE0:"Initialize the camera, set pixel mode as %1",MPYTHON_AI_SENSOR_PATTERN_TOOLTIP:"",MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL:("",""),MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0:("Tracking color display%1","Trace color display%1"),MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP:("",""),MPYTHON_AI2_FACE_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_FACE_TRACKING_MESSAGE0:'set the training model to "Face ID"',MPYTHON_AI2_FACE_TRACKING_TOOLTIP:"It can recognize and track faces, display face size and so on",MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0:'call the camera for "Face ID"',MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP:"It can recognize and track faces, display face size and so on",MPYTHON_AI2_RESULT_FACE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_MESSAGE0:'get the recognition result of "Face ID"',MPYTHON_AI2_RESULT_FACE_TOOLTIP:"After acquisition and identification All the parameters",MPYTHON_AI2_RESULT_FACE_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_X_MESSAGE0:'get the X coordinate of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_X_TOOLTIP:"After acquisition and identification x coordinates",MPYTHON_AI2_RESULT_FACE_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0:'get the Y coordinate of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP:"After acquisition and identification y coordinates",MPYTHON_AI2_RESULT_FACE_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_W_MESSAGE0:'get the width of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_W_TOOLTIP:"After acquisition and identification width",MPYTHON_AI2_RESULT_FACE_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_H_MESSAGE0:'get the height of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_H_TOOLTIP:"After acquisition and identification height",MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0:'get the confidence of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP:"After acquisition and identification Confidence",MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0:'get the object count of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP:"After acquisition and identification number",MPYTHON_AI2_20class_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_20class_TRACKING_MESSAGE0:'set the training model to "20 Class ID"',MPYTHON_AI2_20class_TRACKING_TOOLTIP:"Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV",MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0:'call the camera for "20 Class ID"',MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP:"",MPYTHON_AI2_RESULT_20CLASS_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_MESSAGE0:'get the recognition result of "20 Class ID"',MPYTHON_AI2_RESULT_20CLASS_TOOLTIP:"After acquisition and identification All the parameters",MPYTHON_AI2_RESULT_20CLASS_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0:'get the X coordinate of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP:"After acquisition and identification x coordinates",MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0:'get the Y coordinate of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP:"After acquisition and identification y coordinates",MPYTHON_AI2_RESULT_20CLASS_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0:'get the width of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP:"After acquisition and identification width",MPYTHON_AI2_RESULT_20CLASS_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0:'get the height of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP:"After acquisition and identification height",MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0:'get the confidence of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP:"After acquisition and identification Confidence",MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0:'get the object count of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP:"After acquisition and identification number",MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0:'get the type name of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP:"Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV",MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0:'get the type count of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP:"After acquisition and identification type number",MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0:'call the camera for "Number ID"',MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP:"Call camera identification",MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0:'get the recognition result of "Number ID"',MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP:"Handwritten digit recognition parameters",MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0:'get the digital of the "Number ID" result',MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP:"Handwritten digits recognize Numbers",MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0:'get the confidence of the "Number ID" result',MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP:"Handwritten digit recognition digital confidence",MPYTHON_AI_TRACE_COLOR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",MPYTHON_AI_TRACE_COLOR_MESSAGE0:"Trace color block LAB color %1 bounding box less than %2 pixels less than %3 filter",MPYTHON_AI_TRACE_COLOR_TOOLTIP:"Track the color piece",MPYTHON_AI_BLOB_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_ALL_MESSAGE0:"%1Color piece block all parameters",MPYTHON_AI_BLOB_ALL_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_X_MESSAGE0:"%1Color piece x coordinates",MPYTHON_AI_BLOB_X_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_Y_MESSAGE0:"%1Color piece y coordinates",MPYTHON_AI_BLOB_Y_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_W_MESSAGE0:"%1Color piece width",MPYTHON_AI_BLOB_W_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_H_MESSAGE0:"%1Color piece height",MPYTHON_AI_BLOB_H_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_NUMBER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_NUMBER_MESSAGE0:"%1Color piece number",MPYTHON_AI_BLOB_NUMBER_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_CENTER_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_CENTER_X_MESSAGE0:"%1Color piece center x coordinates",MPYTHON_AI_BLOB_CENTER_X_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_CENTER_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0:"%1Color piece center y coordinates",MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_ORTHOGON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0:"%1Color piece rectangular",MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_DRILL_WEIGHT_MESSAGE0:"Initialize training%1",MPYTHON_DRILL_WEIGHT_TOOLTIP:"",MPYTHON_DRILL_WEIGHT_HELPURL:"",MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL:"",MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0:"Instantiate the linear regression line",MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP:"",MPYTHON_DRILL_TITLE_HELPURL:"",MPYTHON_DRILL_TITLE_MESSAGE0:" title%1 size%2",MPYTHON_DRILL_TITLE_TOOLTIP:"",MPYTHON_DRILL_LABEL_HELPURL:"",MPYTHON_DRILL_LABEL_MESSAGE0:"label%1 title%2 size%3",MPYTHON_DRILL_LABEL_TOOLTIP:"",MPYTHON_DRILL_DRILL_REALITY_HELPURL:"",MPYTHON_DRILL_DRILL_REALITY_MESSAGE0:"Real data lines Sign marks%1 The color of r%2 g%3 b%4 title%5",MPYTHON_DRILL_DRILL_REALITY_TOOLTIP:"",MPYTHON_DRILL_PREDICTED_REALITY_HELPURL:"",MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0:"Predict linear regression lines Sign marks%1 The color of r%2 g%3 b%4 title%5",MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP:"",MPYTHON_DRILL_LEGEND_HELPURL:"",MPYTHON_DRILL_LEGEND_MESSAGE0:"Show legend",MPYTHON_DRILL_LEGEND_TOOLTIP:"",MPYTHON_DRILL_SHOW_HELPURL:"",MPYTHON_DRILL_SHOW_MESSAGE0:"Display images",MPYTHON_DRILL_SHOW_TOOLTIP:"",MPYTHON_DRILL_DRILL_PRINT_HELPURL:"",MPYTHON_DRILL_DRILL_PRINT_MESSAGE0:"Returns the corresponding key value%1",MPYTHON_DRILL_DRILL_PRINT_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0:"Initialize Iris dataset",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0:"flower-de-luce Principal component analysis",MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0:"flower-de-luce Factor analysis 3D",MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0:"flower-de-luce Factor analysis",MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0:"Predicting graphic flower-de-luce type%1 Render content x%3 y%4 Present species%2 color r%5 g%6 b%7 title%8 upward merge%9",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0:"Predicting graphic Render content x%1 y%2 Present species%3 color r%4 g%5 b%6 title%7",MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0:"3D Predicting graphic Render content x%1 y%2 z%3 color r%4 g%5 b%6 title%7",MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0:" title%1 size%2",MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0:"label%1 title%2 size%3",MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0:"3D title%1 size%2",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0:"3D label%1 title%2 size%3",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0:"Show legend",MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0:"Display images",MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0:"X and y coordinates of calyx and petals",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP:"There are 150 records, representing 50 Iris-setosa, Iris-versicolor and Iris-virginica respectively",MPYTHONS_FLOWER_DE_LUCE_Iris_setosa:"Iris setosa",MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor:"Iris versicolor",MPYTHONS_FLOWER_DE_LUCE_Iris_virginica:"Iris virginica",MPYTHONS_FLOWER_DE_LUCE_scatter_diagram:"scatter diagram",MPYTHONS_FLOWER_DE_LUCE_kde_diagram:"kde diagram",MPYTHONS_FLOWER_DE_LUCE_box_diagram:"box diagram",MPYTHONS_FLOWER_DE_LUCE_merge:"merge",MPYTHONS_FLOWER_DE_LUCE_not_merge:"Don it merge",MPYTHONS_FLOWER_DE_LUCE_calyx_length:"calyx length",MPYTHONS_FLOWER_DE_LUCE_calyx_width:"calyx width",MPYTHONS_FLOWER_DE_LUCE_petal_length:"petal length",MPYTHONS_FLOWER_DE_LUCE_petal_width:"petal width",MPYTHON_DRILL_DRILL_full_line:"full line",MPYTHON_DRILL_DRILL_dash_line:"dash line",MPYTHON_DRILL_DRILL_chain_line:"chain line",MPYTHON_DRILL_DRILL_imaginary_line:"imaginary line",MPYTHON_DRILL_DRILL_dot:"dot",MPYTHON_DRILL_DRILL_pixel:"pixel",MPYTHON_DRILL_DRILL_solid_rim:"solid rim",MPYTHON_DRILL_DRILL_down_triangle:"down triangle",MPYTHON_DRILL_DRILL_up_triangle:"up triangle",MPYTHON_DRILL_DRILL_right_triangle:"right triangle",MPYTHON_DRILL_DRILL_left_triangle:"left triangle",MPYTHON_DRILL_DRILL_down_flower_triangle:"down flower triangle",MPYTHON_DRILL_DRILL_up_flower_triangle:"up flower triangle",MPYTHON_DRILL_DRILL_right_flower_triangle:"right flower triangle",MPYTHON_DRILL_DRILL_left_flower_triangle:"left flower triangle",MPYTHON_DRILL_DRILL_solid_square:"solid square",MPYTHON_DRILL_DRILL_solid_pentagon:"solid pentagon",MPYTHON_DRILL_DRILL_star:"star",MPYTHON_DRILL_DRILL_vertical_hexagon:"vertical hexagon",MPYTHON_DRILL_DRILL_across_hexagon:"across hexagon",MPYTHON_DRILL_DRILL_cross:"cross",MPYTHON_DRILL_DRILL_X:"X",MPYTHON_DRILL_DRILL_rhombus:"rhombus",MPYTHON_DRILL_DRILL_thin_rhombus:"thin rhombus",MPYTHON_DRILL_DRILL_vertical_line:"vertical line",MPYTHONS_CONVERT_PICTURE_HELPURL:" ",MPYTHONS_CONVERT_PICTURE_MESSAGE0:" convert image to 28 ^ 2 binary image %1 pending image storage path %2 processed image storage path %3 format %4",MPYTHONS_CONVERT_PICTURE_TOOLTIP:"control board passes WIF to voice assistant via serial port ",MPYTHONS_NUMBER_REPERTOIRE_HELPURL:" ",MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0:" find parse handwritten numeric data store path %1",MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP:"use handwritten number library ",MPYTHONS_SHOW_NUMBER_PATH_HELPURL:" ",MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0:" handwritten digital image storage path %1",MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP:"path of handwritten digital image ",MPYTHONS_SHOW_NUMBER_HELPURL:" ",MPYTHONS_SHOW_NUMBER_MESSAGE0:" display handwritten digital image ",MPYTHONS_SHOW_NUMBER_TOOLTIP:"display handwritten digital image ",MPYTHONS_NUMBER_RECOGNITION_HELPURL:" ",MPYTHONS_NUMBER_RECOGNITION_MESSAGE0:" identify handwritten digital image storage path %1",MPYTHONS_NUMBER_RECOGNITION_TOOLTIP:"path to recognize handwritten digital image ",MPYTHONS_NUMBER_PLACEHOLDER_HELPURL:" ",MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0:" create variable %1 initialize neural network tensor variable name %2",MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP:" ",MPYTHON_DRILL_RESHAPE_MESSAGE0:"create variable %1 and convert the input photo variable %2 into neural network output tensor %3",MPYTHON_DRILL_RESHAPE_TOOLTIP:" ",MPYTHON_DRILL_RESHAPE_HELPURL:" ",MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0:"create variable %1 Shared variable name %2 initialization mode %3",MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP:" ",MPYTHON_NUMBER_CONV_WEIGHT_HELPURL:" ",MPYTHON_NUMBER_INITIALIZER_MESSAGE0:"produce truncated normal distribution random number output tensor %1 standard deviation %2",MPYTHON_NUMBER_INITIALIZER_TOOLTIP:" ",MPYTHON_NUMBER_INITIALIZER_HELPURL:" ",MPYTHON_NUMBER_CONSTANT_MESSAGE0:"create constant value %1 output tensor %2",MPYTHON_NUMBER_CONSTANT_TOOLTIP:" ",MPYTHON_NUMBER_CONSTANT_HELPURL:" ",MPYTHON_NUMBER_CONV2D_MESSAGE0:"neural network output tensor %1 Shared variable %2 step size %3 fill %4",MPYTHON_NUMBER_CONV2D_TOOLTIP:" ",MPYTHON_NUMBER_CONV2D_HELPURL:" ",MPYTHON_NUMBER_CONV_BIASES_MESSAGE0:"tensor %1",MPYTHON_NUMBER_CONV_BIASES_TOOLTIP:" ",MPYTHON_NUMBER_CONV_BIASES_HELPURL:" ",MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0:"convolution two-dimensional variable %1 %2",MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP:" ",MPYTHON_NUMBER_CONV_CONV2D_HELPURL:" ",MPYTHON_NUMBER_RELU_MESSAGE0:"create variable %1 Relu forward drive function convolution 2d layer %2",MPYTHON_NUMBER_RELU_TOOLTIP:" ",MPYTHON_NUMBER_RELU_HELPURL:" ",MPYTHON_NUMBER_MAX_POOL_MESSAGE0:"pooling 2d layer variable %1 convolution layer %2 pooling window %3 step size %4 fill %5",MPYTHON_NUMBER_MAX_POOL_TOOLTIP:" ",MPYTHON_NUMBER_MAX_POOL_HELPURL:" ",MPYTHON_NUMBER_MATMUL_MESSAGE0:"the corresponding elements of the two parameters are multiplied x%1 y%2",MPYTHON_NUMBER_MATMUL_TOOLTIP:" ",MPYTHON_NUMBER_MATMUL_HELPURL:" ",MPYTHON_NUMBER_ADD_MESSAGE0:"full connection layer variable %1 add elements of two parameters x%2 y%3",MPYTHON_NUMBER_ADD_TOOLTIP:" ",MPYTHON_NUMBER_ADD_HELPURL:" ",MPYTHON_NUMBER_SOFTMAX_MESSAGE0:"create variable %1 prediction model accuracy variable name %2",MPYTHON_NUMBER_SOFTMAX_TOOLTIP:" ",MPYTHON_NUMBER_SOFTMAX_HELPURL:" ",MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0:"create variable %1 loss function %2",MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP:" ",MPYTHON_NUMBER_REDUCE_MEAN_HELPURL:" ",MPYTHON_NUMBER_LOG_MESSAGE0:"natural logarithm %1",MPYTHON_NUMBER_LOG_TOOLTIP:" ",MPYTHON_NUMBER_LOG_HELPURL:" ",MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0:"compress sum %1 dimension %2",MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP:"because the log function is monotonically increasing, logP(Y|X) will also reach its maximum value, so maximizing P(Y|X) after adding a negative sign in front is equivalent to minimizing L.",MPYTHON_NUMBER_REDUCE_SUM_HELPURL:"https://www.cnblogs.com/guoyaohua/p/9217206.html",MPYTHON_NUMBER_TRAIN_MESSAGE0:"optimize learning rate %1",MPYTHON_NUMBER_TRAIN_TOOLTIP:" ",MPYTHON_NUMBER_TRAIN_HELPURL:" ",MPYTHON_NUMBER_MINIMIZE_MESSAGE0:"create variable %1 optimize tensor %2",MPYTHON_NUMBER_MINIMIZE_TOOLTIP:" ",MPYTHON_NUMBER_MINIMIZE_HELPURL:" ",MPYTHON_NUMBER_INIT_MESSAGE0:"initialization model complete ",MPYTHON_NUMBER_INIT_TOOLTIP:" ",MPYTHON_NUMBER_INIT_HELPURL:" ",MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0:"select handwritten number set %1 number %2",MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP:" ",MPYTHON_NUMBER_TRAIN_TEST_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN_MESSAGE0:"start data stream graph session to compute session %1 picture %2 tag %3",MPYTHON_NUMBER_SESSION_RUN_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0:"start data stream graph session to compute session %1 picture %2 tag %3",MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN2_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0:"prediction model %1 fit %2 session %3",MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN3_HELPURL:" ",MPYTHON_NUMBER_EQUAL_MESSAGE0:"Whether each dimension of two tensors is equalx%1 y%2",MPYTHON_NUMBER_EQUAL_TOOLTIP:"",MPYTHON_NUMBER_EQUAL_HELPURL:"",MPYTHON_NUMBER_ARGMAX_MESSAGE0:"tensor%1 %2Compare the index that returns the maximum value",MPYTHON_NUMBER_ARGMAX_TOOLTIP:"",MPYTHON_NUMBER_ARGMAX_HELPURL:"",MPYTHON_NUMBER_CAST_MESSAGE0:"Floating point %1",MPYTHON_NUMBER_CAST_TOOLTIP:"",MPYTHON_NUMBER_CAST_HELPURL:"",MPYTHONS_NUMBER_SAVER_SAVE_HELPURL:"",MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0:"Handwritten numeral recognition model variable name %1 store path%2",MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP:"MNIST Handwritten numeral recognition model Save the path",MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL:"",MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0:"Load model %1 store path%2",MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP:"Load model",MPYTHONS_NUMBER_SAME:"SAME",MPYTHONS_NUMBER_VALID:"VALID",MPYTHONS_NUMBER_train:"train",MPYTHONS_NUMBER_test:"test",MPYTHONS_NUMBER_row:"row",MPYTHONS_NUMBER_rank:"rank",MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL:"",MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0:"Call camera %1",MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP:"Call the built-in camera in the notebook, so the parameter is 0. If there are other cameras, the parameter can be adjusted to 1,2",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL:"",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0:"off the camera",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0:"Delete all Windows",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0:"Load model store path%1",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0:"Read the picture from the camera",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP:"Ret True if the image is read, otherwise false;The second parameter is frame, which is the image of the currently captured frame.",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0:"Grayscale image",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0:"Each time the face is detected, the image size is reduced proportionally%1",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP:"",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL:"",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0:"Face area displays rectangular box color r%1 g%2 b%3",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0:"Save the image location%1 ID%2 Serial number%3",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0:"Window to display the image filename%1",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0:"Exit via esc key",MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP:"Use only when the window is on top",MPYTHONS_FACE_RECOGNITIONR_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_MESSAGE0:"Gets the coordinate value of the face in the image face%1",MPYTHONS_FACE_RECOGNITIONR_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0:"If the image is read",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL:"",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0:"Whether to turn on the camera",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0:"Get photos and id Photo storage path%1",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0:"Initialize Training model",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0:"Start Training model",MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0:"%1Training model store path%2",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL:"",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0:"Face model training number",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FONT_HELPURL:"",MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0:"Window display Recognized name%1 Set font to%2 color r%3 g%4 b%5",MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL:"",MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0:"Window display Confidence of identification%1 Set font to%2 color r%3 g%4 b%5",MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0:"Predict human face name%1 Degree of confidence%2",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FORECAST_Write:"write",MPYTHONS_FACE_RECOGNITION_FORECAST_Read:"read",MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0:"初始化 聊天机器人",MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP:"",MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0:"选择训练器 聊天机器人",MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP:"",MPYTHONS_DIALOGUE_ROBOT_START_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0:"选择与%1 聊天",MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0:"自定义 语料库 %1[%2]",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0:"输入对话 获得响应 %1",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0:"识别响应",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0:"选择跟 %1 聊天",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP:"",Jenny:"珍妮",Jack:"杰克",Tom:"汤姆",MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0:"选择 %1 %2 模式%3 %4 喂养%5",MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP:"",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL:"",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0:"查看训练库 选择%1",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP:"",MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL:"",MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0:"生成随机数 %1",MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP:"",MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL:"",MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0:"显示窗口",MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP:"",MPYTHON_AGESTURE_IMSHOW_HELPURL:"",MPYTHON_AGESTURE_IMSHOW_MESSAGE0:"处理图像 %1",MPYTHON_AGESTURE_IMSHOW_TOOLTIP:"",MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL:"",MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0:"选择训练库 knn模型",MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_LOAD_MODEL_HELPURL:"",MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0:"载入knn模型 存储路径%1",MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL:"",MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0:"%1打开图片 存储路径%2 图片名%3",MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP:"",MPYTHON_AGESTURE_ARRAY_MESSAGE0:"选择%1 构建特征数据%2",MPYTHON_AGESTURE_ARRAY_TOOLTIP:"",MPYTHON_AGESTURE_ARRAY_HELPURL:"",MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0:"打乱排序%1 ",MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP:"",MPYTHON_GESTURE_RANDOM_RANK_HELPURL:"",MPYTHON_GESTURE_READ_LEND_MESSAGE0:" %1 图片特征",MPYTHON_GESTURE_READ_LEND_TOOLTIP:"",MPYTHON_GESTURE_READ_LEND_HELPURL:"",MPYTHON_GESTURE_START_SRAIN_HELPURL:"",MPYTHON_GESTURE_START_SRAIN_MESSAGE0:"开始训练 手势识别 期望%1 目标%2",MPYTHON_GESTURE_START_SRAIN_TOOLTIP:"",MPYTHON_GESTURE_SCORE_HELPURL:"",MPYTHON_GESTURE_SCORE_MESSAGE0:"进行评分 期望%1 目标%2",MPYTHON_GESTURE_SCORE_TOOLTIP:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0:"%1 数组降维 图片总数%2",MPYTHON_GESTURE_FORECAST_HELPURL:"",MPYTHON_GESTURE_FORECAST_TOOLTIP:"",MPYTHON_GESTURE_FORECAST_MESSAGE0:"预测结果%1",MPYTHON_AGESTURE_SAVE_MODEL_HELPURL:"",MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0:"保存模型 存储路径%1",MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL:"",MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0:"%1图片 预测图片 ",MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0:"%1 彩色图像降维",MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL:"",MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0:"选择人脸库 图片存储路径%1",MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP:"",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL:"",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0:"加载模型 存储路径%1",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0:"第%1位人脸性别结果 置信度",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0:"第%1位人脸情绪结果 置信度",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0:"第%1位人脸性别 结果",MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0:"第%1位人脸情绪 结果",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP:"",MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL:"",MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0:"选择人脸库 %1",MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0:"第%1位情绪为 %2",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0:"第%1位性别为 %2",MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0:"人脸数量",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0:"表情数量",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0:"人脸实时检测 %1",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0:"显示图片",MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP:"",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL:"",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0:"选择人脸%1 %2",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL:"",MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0:"初始化 文章聚类",MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_TITLE_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0:"标题 第%1文章",MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_CONTENT_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0:"内容 第%1文章",MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP:"",MPYTHONS_WORD_CLOUD_JIEBA_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0:"文章内容转为列表 第%1文章",MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP:"",MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL:"",MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0:"读取停词表%1",MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP:"返回的是100篇文章里的符号",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL:"",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0:"删除后的新闻",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP:"",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL:"",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0:"构造词云所用的数据",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP:"",MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL:"",MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0:"计算总数 排序前%1",MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP:"返回的是100篇文章里的文本",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL:"",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0:"文章聚类训练结果 保存为图片",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL:"",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0:"显示图片",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP:"",FIRST:"first",LAST:"last",MPYTHON_USOCKET_BLOCK:"block",MPYTHON_USOCKET_UNBLOCK:"unblock",MPYTHON_USOCKET_SETSOCKOPT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0:"set socket %1 with af %2 and type %3",MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP:"Sets the value of a given socket option. The required symbolic constants are defined in the socket module (SO_*, etc.). This value can be an integer or a class byte object representing a buffer.",MPYTHON_USOCKET_READ_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",MPYTHON_USOCKET_READ_MESSAGE0:"read %2 bytes from socket %1 and returns a byte object",MPYTHON_USOCKET_READ_TOOLTIP:"if no number of read is given, run in a mode similar to socket.readall ()",MPYTHON_USOCKET_SETBLOCKING_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",MPYTHON_USOCKET_SETBLOCKING_MESSAGE0:"set socket %1 as %2 mode ",MPYTHON_USOCKET_SETBLOCKING_TOOLTIP:"",MPYTHON_USOCKET_SETTIMEOUT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0:"socket %1 sets timeout as %2 seconds",MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP:"",MPYTHON_USOCKET_SENDALL_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SENDALL_MESSAGE0:"Socket%1 sends%2 continuously and returns the number of bytes sent",MPYTHON_USOCKET_SENDALL_TOOLTIP:"Send all data to sockets. Sockets must be connected to remote sockets. Unlike send (), this method will attempt to send all data by sending blocks continuously.",MPYTHON_USOCKET_SENDS_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SENDS_MESSAGE0:"socket %1 send %2 and returns the number of bytes sent",MPYTHON_USOCKET_SENDS_TOOLTIP:"Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",MPYTHON_USOCKET_SEND_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SEND_MESSAGE0:"socket %1 send %2 and returns the number of bytes sent",MPYTHON_USOCKET_SEND_TOOLTIP:"Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",MPYTHON_LINE_BREAK_HELPURL:"",MPYTHON_LINE_BREAK_MESSAGE0:"Escape character %1",MPYTHON_LINE_BREAK_TOOLTIP:"Escape character",MPYTHON_USOCKET_SENDTO_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",MPYTHON_USOCKET_SENDTO_MESSAGE0:"socket %1 send %2 to address %3",MPYTHON_USOCKET_SENDTO_TOOLTIP:"Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",MPYTHON_USOCKET_RECV_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",MPYTHON_USOCKET_RECV_MESSAGE0:"socket %1 receives with maximum amount %2 and returns received data object",MPYTHON_USOCKET_RECV_TOOLTIP:"",MPYTHON_TEXT_ESC_HELPURL:"",MPYTHON_TEXT_ESC_MESSAGE0:"text ESC %1",MPYTHON_TEXT_ESC_TOOLTIP:"text ESC",MPYTHON_USOCKET_RECVFROM_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",MPYTHON_USOCKET_RECVFROM_MESSAGE0:"socket %1 receives with maximum amount %2 and returns received data tuple",MPYTHON_USOCKET_RECVFROM_TOOLTIP:"Tuple format: (bytes, address)",MPYTHON_USOCKET_CONNECT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",MPYTHON_USOCKET_CONNECT_MESSAGE0:"socket %1 connect to host %2 with port %3",MPYTHON_USOCKET_CONNECT_TOOLTIP:"",MPYTHON_USOCKET_GETADDRINFO_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",MPYTHON_USOCKET_GETADDRINFO_MESSAGE0:"parse host %1 with port %2 and return ip",MPYTHON_USOCKET_GETADDRINFO_TOOLTIP:"Internet required",MPYTHON_USOCKET_ACCEPT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",MPYTHON_USOCKET_ACCEPT_MESSAGE0:"socket %1 receive connection request and return socket tuple",MPYTHON_USOCKET_ACCEPT_TOOLTIP:"Receive connection request.Socket needs to specify an address and listen to the connection.The return value is (conn, address)\nconn: A new socket object that can be used to send and receive message\naddress: Client address connected to the server",MPYTHON_USOCKET_LISTEN_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",MPYTHON_USOCKET_LISTEN_MESSAGE0:"listen to socket %1 with backlog as %2",MPYTHON_USOCKET_LISTEN_TOOLTIP:"backlog : Maximum number of accepted sockets, at least 0, default reasonable value if not specified",MPYTHON_USOCKET_BIND_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",MPYTHON_USOCKET_BIND_MESSAGE0:"socket %1 bind with address %2 and port %3",MPYTHON_USOCKET_BIND_TOOLTIP:"",MPYTHON_USOCKET_CLOSE_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",MPYTHON_USOCKET_CLOSE_MESSAGE0:"close socket %1",MPYTHON_USOCKET_CLOSE_TOOLTIP:"",MPYTHON_USOCKET_INIT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",MPYTHON_USOCKET_INIT_MESSAGE0:"create socket %1 with af %2 and type %3",MPYTHON_USOCKET_INIT_TOOLTIP:"AF_INET:=2 — TCP/IP – IPv4\nAF_INET6 :=10 — TCP/IP – IPv6\nSOCK_STREAM:=1 — TCP stream\nSOCK_DGRAM:=2 — UDP datagram\nSOCK_RAW :=3 — Original socket\nSO_REUSEADDR : =4 — Socket reusable\n",MPYTHON_GET_POST_HELPURL:"",MPYTHON_GET_POST_MESSAGE0:"%1 request url %2 submit fields %3",MPYTHON_GET_POST_TOOLTIP:"",MPYTHON_UREQUESTS_GET_POST_HELPURL:"",MPYTHON_UREQUESTS_GET_POST_TOOLTIP:"",MPYTHON_UREQUESTS_GET_POST_MESSAGE0:"%1 request url %2 submit fields %3",MPYTHON_UREQUESTS_POST_FILE_HELPURL:"",MPYTHON_UREQUESTS_POST_FILE_TOOLTIP:"",MPYTHON_UREQUESTS_POST_FILE_MESSAGE0:"Post submit file %1 request url %2 file path %3 mime type %4 fields %5",MPYTHON_RESPONSE_HELPURL:"",MPYTHON_RESPONSE_MESSAGE0:"return response content as %1",MPYTHON_RESPONSE_TOOLTIP:"",STRING:"string",_BYTE:"byte",TEXT:"text",MPYTHON_RESPONSE_ATTRIBUTE_HELPURL:"",MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0:"response attribute %1",MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP:"",MPYTHON_SLEEP_MESSAGE0:"waiting for %1 %2",MPYTHON_SLEEP_TOOLTIP:"Wait for the time before proceeding to the next command.\n1 second = 1,000 milliseconds (ms)\n1 second = 1,000,000 microseconds (μs)",MPYTHON_MS:"millisecond(ms)",MPYTHON_US:"microsecond(μs)",MPYTHON_TIME_DIFFERENCE_HELPURL:"",MPYTHON_TIME_DIFFERENCE_MESSAGE0:"Return time difference from %1 to %2",MPYTHON_TIME_DIFFERENCE_TOOLTIP:"Measure the period between successive calls to ticks_ms (), ticks_us ()",MPYTHON_TYPE_HELPURL:"",MPYTHON_TYPE_MESSAGE0:"type %1",MPYTHON_TYPE_TOOLTIP:"",MPYTHON_TYPE_IS_HELPURL:"",MPYTHON_TYPE_IS_MESSAGE0:"type %1 is %2",MPYTHON_TYPE_IS_TOOLTIP:"",MPYTHON_EVAL_HELPURL:"",MPYTHON_EVAL_MESSAGE0:"eval %1",MPYTHON_EVAL_TOOLTIP:"Simulate a string expression and return the result",MPYTHON_RETURN_HELPURL:"",MPYTHON_RETURN_MESSAGE0:"return %1",MPYTHON_RETURN_TOOLTIP:"",MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL:"",MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0:"I2C digital ray",MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP:"",MPYTHON_WIFI_ALL_CONFIG_HELPURL:"",MPYTHON_WIFI_ALL_CONFIG_MESSAGE0:"Wi-Fi configuration information",MPYTHON_WIFI_ALL_CONFIG_TOOLTIP:"Returns all wifi configuration information as tuples",MPYTHON_WIFI_ISCONNECTED_HELPURL:"",MPYTHON_WIFI_ISCONNECTED_MESSAGE0:"Has connected to Wi-Fi",MPYTHON_WIFI_ISCONNECTED_TOOLTIP:"",MPYTHON_INIT_ASSISTANT_WIFI_HELPURL:"",MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0:"Wi-Fi Connect voice assistant Wi-Fi name%1 password%2",MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP:"Control board passes WIF to voice assistant through serial port",MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL:"",MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP:"Files need to be uploaded to the board on the file system first",MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0:"Read Voice Assistant Text Files %1",MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL:"",MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0:"digital tube display %1",MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP:"-999~9999",MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL:"",MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0:"clear the digital tube display",MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP:"",MPYTHON_MACHINE_RESET_HELPURL:"",MPYTHON_MACHINE_RESET_MESSAGE0:"reset",MPYTHON_MACHINE_RESET_TOOLTIP:"Same as pressing an external reset button",MPYTHON_BLUEBIT_GET_COLOR_HELPURL:"",MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0:"I2C RGB color %1",MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0:"I2C RGB color",MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP:"Returns as list",MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL:"",MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0:"I2C HSV color %1",MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP:"HSV(Hue, Saturation, Value)",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0:"I2C HSV color",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP:"HSV(Hue, Saturation, Value)",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0:"I2C force sensor Dial code %1",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0:"I2C current sensor Dial code %1",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0:"I2C voltage sensor Dial code %1",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0:"I2C magnetic sensor Dial code %1",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0:"I2C PH sensor Dial code %1",MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0:"I2C TDS sensor Dial code %1",MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0:"I2C Pressure sensor Dial code %1",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0:"I2C Photogate Timer sensor Dial code %1",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_RED:"red",MPYTHON_GREEN:"green",MPYTHON_BLUE:"blue",MPYTHON_MUSIC_PIN_P6:"default",MPYTHON_MUSIC_PIN_P6_HELPURL:"",MPYTHON_MUSIC_PIN_P6_MESSAGE0:"%1",MPYTHON_MUSIC_PIN_P6_TOOLTIP:"",MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0:"play music %1 wait %2 loop %3 Pin %4",MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP:"Play the built-in music, you can set the standby mode and loop playback.",MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",MICROBIT_MUSIC_PITCH_MESSAGE0:"play tone %1 %2 delay %3 millisecond(s) at Pin %4",MICROBIT_MUSIC_PITCH_TOOLTIP:"Plays the tone for the set length of time.",MICROBIT_MUSIC_PITCH_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0:"at Pin %5 play note list %1 wait %2 %3 loop %4",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP:"Play a list of notes, such as C4:4, G4:8, etc., the notes are in string form, the default pin is P6 of the mPython board",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",MICROBIT_MUSIC_RESET_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",MICROBIT_MUSIC_RESET_MESSAGE0:"restore music settings",MICROBIT_MUSIC_RESET_TOOLTIP:"Restore all music settings (current beats, scales, and periods) to their default values.",MICROBIT_MUSIC_STOP_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",MICROBIT_MUSIC_STOP_MESSAGE0:"stop playing music at Pin %1",MICROBIT_MUSIC_STOP_TOOLTIP:"The default pin is P6 of the mPython board",MICROBIT_MUSIC_SET_TEMPO_MESSAGE0:"set each beat equal to %1 notes, the number of beats per minute is %2",MICROBIT_MUSIC_SET_TEMPO_TOOLTIP:"Set the playback speed (beat). A certain number of tick represents a beat, the number of beats per minute per beat (BPM beats per minute).",MICROBIT_MUSIC_SET_TEMPO_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0:"set the playback speed to %1 times",MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP:"The 4th note is 1 beat, and the number of beats per minute is 120 by default, which is 1 times the playback speed.",MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",MICROBIT_MUSIC_GET_TEMPO_MESSAGE0:"current beats",MICROBIT_MUSIC_GET_TEMPO_TOOLTIP:"Get current beats: Taps per beat, beats per minute (BPM).",MICROBIT_MUSIC_GET_TEMPO_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",MPYTHON_BLUEBIT_HUM_TEM_HELPURL:"",MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP:"",MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0:"I2C %1",MPYTHON_BLUEBIT_TEMPERATURE:"temperature",MPYTHON_BLUEBIT_HUMIDITY:"humidity",MPYTHON_UART_INIT_HELPURL:"",MPYTHON_UART_INIT_MESSAGE0:"initialize serial port %4 as baudrate %1 tx %2 rx %3",MPYTHON_UART_INIT_TOOLTIP:"mPython board supports 3 sets of serial ports. 0 for repl, remaining 1, 2 sets of serial ports available. All pins can be used as the input of serial port rx, except P2, p3, p4, p10 can only be used as input, and all the other pins can be used as output tx. in theory.",MPYTHON_UART_DEINIT_HELPURL:"",MPYTHON_UART_DEINIT_MESSAGE0:"close serial port %1",MPYTHON_UART_DEINIT_TOOLTIP:"Turn off the UART bus",MPYTHON_UART_WRITE_STR_HELPURL:"",MPYTHON_UART_WRITE_STR_MESSAGE0:"serial port %1 write string %2 %3",MPYTHON_UART_WRITE_STR_TOOLTIP:"Write a text to the bus. \nReturn value: The number of bytes to write or None to time out.",MPYTHON_UART_WRITE_HEX_HELPURL:"",MPYTHON_UART_WRITE_HEX_MESSAGE0:"serial port %1 write hex string %2 %3",MPYTHON_UART_WRITE_HEX_TOOLTIP:"",MPYTHON_UART_HAS_DATA_HELPURL:"",MPYTHON_UART_HAS_DATA_MESSAGE0:"serial port %1 has readable data",MPYTHON_UART_HAS_DATA_TOOLTIP:"Returns an integer that counts the number of characters that can be read without blocking. \n If there are no characters available, it will return 0, if there are characters, it will return a positive number. \n This method can return 1 even if there are multiple readable characters.",MPYTHON_UART_READLINE_HELPURL:"",MPYTHON_UART_READLINE_MESSAGE0:"serial port %1 read a line of data",MPYTHON_UART_READLINE_TOOLTIP:"Read a line and end with a newline character.\nReturn value: Read row or None timeout.",MPYTHON_UART_READ_HELPURL:"",MPYTHON_UART_READ_MESSAGE0:"serial port %1 read data",MPYTHON_UART_READ_TOOLTIP:"Read as much serial data as possible.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.",MPYTHON_UART_READ_LENGTH_HELPURL:"",MPYTHON_UART_READ_LENGTH_MESSAGE0:"serial port %1 read data with length as %2",MPYTHON_UART_READ_LENGTH_TOOLTIP:"Read the specified length bytes data.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.",MPYTHON_UART_WRITE_BYTE_HELPURL:"",MPYTHON_UART_WRITE_BYTE_MESSAGE0:"serial port %1 write a byte %2",MPYTHON_UART_WRITE_BYTE_TOOLTIP:"The parameter is a integer as 0~255\nWrite a byte to the bus. \nReturn value: The number of bytes to write or None to time out.",MPYTHON_UART_WRITE_BYTES_HELPURL:"",MPYTHON_UART_WRITE_BYTES_MESSAGE0:"serial port %1 write bytes %2",MPYTHON_UART_WRITE_BYTES_TOOLTIP:"Write some bytes to the bus. \nReturn value: The number of bytes to write or None to time out.",TEXT_FORMAT_MESSAGE0:"format string %1 % %2",TEXT_FORMAT_TOOLTIP:"",TEXT_FORMAT_HELPURL:"",TEXT_FORMAT2_MESSAGE0:"format string %1 with %2",TEXT_FORMAT2_TOOLTIP:"",TEXT_FORMAT2_HELPURL:"",MPYTHON_BAUDRATE_HELPURL:"",MPYTHON_BAUDRATE_MESSAGE0:"%1",MPYTHON_BAUDRATE_TOOLTIP:"",MPYTHON_HIGH_LOW_HELPURL:"",MPYTHON_HIGH_LOW_MESSAGE0:"%1",MPYTHON_HIGH_LOW_TOOLTIP:"",MPYTHON_TEN_CONVERT_TO_HELPURL:"",MPYTHON_TEN_CONVERT_TO_MESSAGE0:"decimal int num %1 converted to %2 string",MPYTHON_TEN_CONVERT_TO_TOOLTIP:"",MPYTHON_BIN:"BIN",MPYTHON_OCT:"OCT",MPYTHON_HEX:"HEX",MPYTHON_CONVERT_TO_TEN_HELPURL:"",MPYTHON_CONVERT_TO_TEN_MESSAGE0:"%1 string %2 converted to decimal int num",MPYTHON_CONVERT_TO_TEN_TOOLTIP:"",MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL:"",MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0:"decimal int num %2 converted to %1 bytes",MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP:"",MPYTHON_INT_TO_CHR_HELPURL:"",MPYTHON_INT_TO_CHR_MESSAGE0:"shaping number %1 converted to character in ASCII",MPYTHON_INT_TO_CHR_TOOLTIP:"ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages",MPYTHON_STR_TO_HEX_HELPURL:"",MPYTHON_STR_TO_HEX_MESSAGE0:"string %1 converted to hex bytes",MPYTHON_STR_TO_HEX_TOOLTIP:"Returns two hexadecimal numbers separated by spaces in the result",MPYTHON_CHR_TO_INT_HELPURL:"",MPYTHON_CHR_TO_INT_MESSAGE0:"character in ASCII %1 converted to shaping number",MPYTHON_CHR_TO_INT_TOOLTIP:"ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages",MPYTHON_HEX_TO_BIN_STR_HELPURL:"",MPYTHON_HEX_TO_BIN_STR_MESSAGE0:"hex string %1 converted to bin bytes",MPYTHON_HEX_TO_BIN_STR_TOOLTIP:"",MPYTHON_DATA_TO_BASE64_HELPURL:"",MPYTHON_DATA_TO_BASE64_MESSAGE0:"encoding data %1 in base64 and return byte object",MPYTHON_DATA_TO_BASE64_TOOLTIP:"Base64 encoding is a process from binary to character",MPYTHON_BASE64_TO_DATA_HELPURL:"",MPYTHON_BASE64_TO_DATA_MESSAGE0:"decoding base64 data %1 and return byte object",MPYTHON_BASE64_TO_DATA_TOOLTIP:"Base64 encoding is a process from binary to character",MPYTHON_UJSON_DUMPS_HELPURL:"",MPYTHON_UJSON_DUMPS_MESSAGE0:"%1 converted to json string",MPYTHON_UJSON_DUMPS_TOOLTIP:"Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none",MPYTHON_UJSON_LOADS_HELPURL:"",MPYTHON_UJSON_LOADS_MESSAGE0:"parse json string %1 and return the object",MPYTHON_UJSON_LOADS_TOOLTIP:"Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none",MPYTHON_SETS_PIN_MODE_HELPURL:"https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",MPYTHON_SETS_PIN_MODE_TOOLTIP:"Right-click help to view the pin declaration",MPYTHON_SETS_PIN_MODE_MESSAGE0:"set pin %1 as %2 mode %3 and set the value to %4",MPYTHON_SET_PIN_IN:"input",MPYTHON_SET_PIN_PUSH_PULL_OUT:"Push-pull output",MPYTHON_SET_PIN_LEAKY_OUT:"Leaky output",MPYTHON_SET_PIN_NO_PULL:"no pull",MPYTHON_SET_PIN_DOWN_PULL:"pull down",MPYTHON_SET_PIN_UP_PULL:"pull up",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL:"",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0:"thread lock object %1 requests lock",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP:"",MPYTHON_START_NEW_THREAD_HELPURL:"",MPYTHON_START_NEW_THREAD_MESSAGE0:"thread %1",MPYTHON_START_NEW_THREAD_TOOLTIP:"",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL:"",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0:"custom terminal widget on virtual pin V %1",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP:"",MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL:"",MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0:"synchronizing the status of virtual pin V %1",MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP:"",MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL:"",MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0:"when Blynk disconnected",MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP:"",MPYTHON_BLYNK_ON_CONNECTED_HELPURL:"",MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0:"when Blynk connected",MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP:"",MPYTHON_BLYNKTIMER_RUN_HELPURL:"",MPYTHON_BLYNKTIMER_RUN_MESSAGE0:"run the BlynkTimer processes",MPYTHON_BLYNKTIMER_RUN_TOOLTIP:"It is recommended to put this block in 'repeat forever' block",MPYTHON_BLYNK_RUN_HELPURL:"",MPYTHON_BLYNK_RUN_MESSAGE0:"run the Blynk processes",MPYTHON_BLYNK_RUN_TOOLTIP:"It is recommended to put this block in 'repeat forever' block",MPYTHON_BLYNK_APP_NOTIFY_HELPURL:"",MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0:"Blynk APP notifies %1",MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP:"",MPYTHON_BLYNKTIMER_HELPURL:"",MPYTHON_BLYNKTIMER_MESSAGE0:"BlynkTimer number %1 mode %2 period %3 seconds",MPYTHON_BLYNKTIMER_TOOLTIP:'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped',MPYTHON_BLYNK_STOP_TIMERS_HELPURL:"",MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0:"stop Blynk timer %1",MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP:'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped',MPYTHON_UART_INPUT_HELPURL:"",MPYTHON_UART_INPUT_MESSAGE0:"get input text from serial port, title %1",MPYTHON_UART_INPUT_TOOLTIP:"",MPYTHON_BLYNK_SET_PROPERTY_HELPURL:"",MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0:"set property %1 and value %2 to virtual pin",MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP:"Placed in a read or write event, the virtual pin is determined by the event,the component bound to the pin will have the added property",MPYTHON_BLYNK_EMAIL_HELPURL:"",MPYTHON_BLYNK_EMAIL_MESSAGE0:"email to pre-set email address with %1 subject %2 body %3",MPYTHON_BLYNK_EMAIL_TOOLTIP:"",MPYTHON_BLYNK_GET_TIMERS_HELPURL:"",MPYTHON_BLYNK_GET_TIMERS_MESSAGE0:"available Blynk timers",MPYTHON_BLYNK_GET_TIMERS_TOOLTIP:"",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL:"",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0:"send data %1 to Blynk APP's virtual pin V %2",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP:"virtual pin: V0 ~ V255",MPYTHON_BLYNK_APP_DATA_HELPURL:"",MPYTHON_BLYNK_APP_DATA_MESSAGE0:"when received value %2 of virtual pin V %1 from Blynk",MPYTHON_BLYNK_APP_DATA_TOOLTIP:"Virtual pin: V0 ~ V255",MPYTHON_BLYNK_RECEIVED_MESSAGE0:"when received value of virtual pin V %1 from Blynk",MPYTHON_BLYNK_VALUE_MESSAGE0:"value from Blynk",MPYTHON_BLYNK_VALUE_TOOLTIP:"",MPYTHON_BLYNK_VALUE_HELPURL:"",MPYTHON_BLYNK_SETUP_HELPURL:"",MPYTHON_BLYNK_SETUP_MESSAGE0:"Blynk Settings %1 server %2 port %3 authorization code %4",MPYTHON_BLYNK_SETUP_TOOLTIP:'The server can be set to "blynk-cloud.com" or "blynk.mpython.cn"\n The default port is 8080\n Note: The mobile APP access port is 9443.',INT_TO_CHR_HELPURL:"",INT_TO_CHR_MESSAGE0:"int %1 to ASCII single character",INT_TO_CHR_TOOLTIP:"",a123_HELPURL:"",a123_MESSAGE0:"新 %1",a123_TOOLTIP:"",MPYTHON_ONENET_DISCONNECT_MESSAGE0:"disconnect from OneNET",MPYTHON_ONENET_DISCONNECT_TOOLTIP:"",MPYTHON_ONENET_DISCONNECT_HELPURL:"",MPYTHON_ONENET_MSG_MESSAGE0:"message from OneNET",MPYTHON_ONENET_MSG_TOOLTIP:"",MPYTHON_ONENET_MSG_HELPURL:"",MPYTHON_ONENET_RECV_MESSAGE0:"when received message %1 from OneNET",MPYTHON3_ONENET_RECV_MESSAGE0:"when received message from OneNET",MPYTHON_ONENET_RECV_TOOLTIP:"",MPYTHON_ONENET_RECV_HELPURL:"",MPYTHON_ONENET_RECV_MSG_MESSAGE0:"when received specific message %1 from OneNET",MPYTHON_ONENET_RECV_MSG_TOOLTIP:"",MPYTHON_ONENET_RECV_MSG_HELPURL:"",MPYTHON_ONENET_PUB_VALUE_MESSAGE0:"publish data to OneNET, name %1 value %2",MPYTHON_ONENET_PUB_VALUE_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE_HELPURL:"",MPYTHON_ONENET_PUB_DICT_MESSAGE0:"publish data to OneNET %1",MPYTHON_ONENET_PUB_DICT_TOOLTIP:"",MPYTHON_ONENET_PUB_DICT_HELPURL:"",MPYTHON_HCSR04_DISTANCE_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_DISTANCE_MESSAGE0:"%1 hcsr04 untrasonic distance, unit %2",MPYTHON_HCSR04_DISTANCE_TOOLTIP:"",MPYTHON_HCSR04_DISTANCE_MM_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0:"%1 hcsr04 untrasonic(mm)",MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP:"",MPYTHON_HCSR04_OBJ_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_OBJ_MESSAGE0:"Hcsr04 ultrasonic initialize name %1 trigger %2 echo %3",MPYTHON_HCSR04_OBJ_TOOLTIP:"",MPYTHON_PM2_5_LitresAir_HELPURL:"",MPYTHON_PM2_5_LitresAir_MESSAGE0:"RX pin %1 Number of particles with diameter of %2 in 0.1 liter air",MPYTHON_PM2_5_LitresAir_TOOLTIP:"",MPYTHON_PM2_5_MIC_HELPURL:"",MPYTHON_PM2_5_MIC_MESSAGE0:"RX pin %1 PM value concentration %2",MPYTHON_PM2_5_MIC_TOOLTIP:"",MPYTHON3_IR_REMOTE_RECV_MESSAGE0:"when infrared receiver %1 received message %2 do %3",MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0:"callback address",MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0:"received message",MPYTHON_IR_REMOTE_RECV_MESSAGE0:"infrared receive %1 callback address %2 callback command %3",MPYTHON_IR_REMOTE_RECV_HELPURL:"",MPYTHON_IR_REMOTE_RECV_TOOLTIP:"",MPYTHON_IR_REMOTE_SEND_MESSAGE0:"infrared send %1 address %2 command %3",MPYTHON_IR_REMOTE_SEND_HELPURL:"",MPYTHON_IR_REMOTE_SEND_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE2_MESSAGE0:"publish data to Wechat app, name %1 value %2",MPYTHON_ONENET_PUB_VALUE2_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE2_HELPURL:"",MPYTHON_ONENET_ACCEPT_MESSAGE:"If received message",MPYTHON_ONENET:"OneNET settings",MPYTHON_ONENET_WECHAT_APP:"Wechat app settings",MPYTHON_ONENET_OPTION_BOARDS:"optional mPython boards",MPYTHON_ONENET_TITLE:"OneNET",MPYTHON_SERVER:"server",MPYTHON_DEVICE_ID:"device_id",MPYTHON_PRODUCT_ID:"product_id",MPYTHON_API_KEY:"product_APIKey",MPYTHON_TOPIC:"topic",MPYTHON_ONENET_CALLBACK:"Callback function",MPYTHON_ONENET_CALLBACK_TITLE:"OneNET callback",MPYTHON_ONENET_OPTION_BOARDS_HELPURL:"",MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0:"choose mPython App %1 in WeChat App",MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP:"",TEXT_TO_BYTE_MESSAGE0:"convert %1 to bytes",TEXT_TO_BYTE_TOOLTIP:"Supported data type as string",TEXT_TO_BYTE_HELPURL:"",OTHER_TO_BYTE_MESSAGE0:"convert Non-text %1 to bytes",OTHER_TO_BYTE_TOOLTIP:"",OTHER_TO_BYTE_HELPURL:"",MPYTHON_BYTES_DECODE_HELPURL:"",MPYTHON_BYTES_DECODE_MESSAGE0:"convert bytes %1 to string",MPYTHON_BYTES_DECODE_TOOLTIP:"",MPYTHON_ONENET_TOOLTIP:"Create a OneNET connection",MPYTHON_ONENET_INIT_WIFI_MESSAGE0:"IoT make sure to connect to Wi-Fi with SSID %1 & Password %2",MPYTHON_ONENET_INIT_WIFI_TOOLTIP:"Let the board access the Wi-Fi environment",MPYTHON_ONENET_INIT_WIFI_HELPURL:"",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL:"",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0:"when receives %1 and %2 from WeChat App",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP:"",MPYTHON_MAC_ADDRESS_HELPURL:"",MPYTHON_MAC_ADDRESS_MESSAGE0:"MAC Address",MPYTHON_MAC_ADDRESS_TOOLTIP:"",MPYTHON_RADIO_REC_HELPURL:"",MPYTHON_RADIO_REC_MESSAGE0:"radio received",MPYTHON_RADIO_REC_TOOLTIP:"received data is bytes",MPYTHON_RADIO_SEND_HELPURL:"",MPYTHON_RADIO_SEND_MESSAGE0:"radio sends %1",MPYTHON_RADIO_SEND_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_CHANNEL_HELPURL:"",MPYTHON_RADIO_CHANNEL_MESSAGE0:"set radio channel %1",MPYTHON_RADIO_CHANNEL_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_ON_OFF_HELPURL:"",MPYTHON_RADIO_ON_OFF_MESSAGE0:"%1 radio",MPYTHON_RADIO_ON_OFF_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_MSG_MESSAGE0:"message from Radio",MPYTHON_RADIO_MSG_TOOLTIP:"",MPYTHON_RADIO_MSG_HELPURL:"",MPYTHON3_RADIO_RECV_MESSAGE0:"when receiving broadcast message from Radio %1 do %2",MPYTHON_RADIO_RECV_MESSAGE0:"when receiving broadcast message %1 from Radio",MPYTHON_RADIO_RECV_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_RECV_HELPURL:"",MPYTHON_RADIO_RECV_MSG_MESSAGE0:"when receiving specific broadcast message %1 from Radio %2 do %3",MPYTHON_RADIO_RECV_MSG_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_RECV_MSG_HELPURL:"",MPYTHON_UDP_INIT_HELPURL:"",MPYTHON_UDP_INIT_MESSAGE0:"connect to UDP",MPYTHON_UDP_INIT_TOOLTIP:"base on Wi-Fi",MPYTHON_UDP_SEND_HELPURL:"",MPYTHON_UDP_SEND_MESSAGE0:"UDP send message %1 to all",MPYTHON_UDP_SEND_TOOLTIP:"",MPYTHON_UDP_SENDTO_HELPURL:"",MPYTHON_UDP_SENDTO_MESSAGE0:"UDP send message %1 to %2 port %3",MPYTHON_UDP_SENDTO_TOOLTIP:"",MPYTHON_UDP_RECV_HELPURL:"",MPYTHON_UDP_RECV_MESSAGE0:"UDP receive message",MPYTHON_UDP_RECV_TOOLTIP:"",MPYTHON_UDP_RECV_EVENT_HELPURL:"",MPYTHON_UDP_RECV_EVENT_MESSAGE0:"when received message from UDP %1 do %2",MPYTHON_UDP_RECV_EVENT_TOOLTIP:"",MPYTHON_UDP_RECV_MSG_MESSAGE0:"message from UDP",MPYTHON_UDP_RECV_MSG_TOOLTIP:"",MPYTHON_UDP_RECV_MSG_HELPURL:"",MPYTHON_DISPCHAR_MODE_1:"normal",MPYTHON_DISPCHAR_MODE_2:"rev",MPYTHON_DISPCHAR_MODE_3:"trans",MPYTHON_AUDIO_XUNFEI_TTS_HELPURL:"",MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0:"TTS play text %1",MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP:'The "Online Speech Synthesis" service needs to be enabled on the "Xunfei Open Platform" www.xfyun.cn',MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL:"https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0:"TTS config APPID %1 APIKey %2",MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP:'Enter the APPID and APIKey obtained on the "Xunfei Open Platform" www.xfyun.cn\nNote: To set the IP whitelist',MPYTHON_AUDIO_PLAY_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",MPYTHON_AUDIO_PLAY_MESSAGE0:"Audio play %1",MPYTHON_AUDIO_PLAY_TOOLTIP:"Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the mPython board, e.g 'music_1.mp3'",MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0:"Audio play %1",MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP:"Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the mPython board, e.g 'music_1.mp3'",MPYTHON_AUDIO_DEINIT_HELPURL:"",MPYTHON_AUDIO_DEINIT_MESSAGE0:"deinit Audio",MPYTHON_AUDIO_DEINIT_TOOLTIP:"Create a cache for controlling the audio decoding",MPYTHON_AUDIO_CMD_HELPURL:"",MPYTHON_AUDIO_CMD_MESSAGE0:"Audio %1",MPYTHON_AUDIO_CMD_TOOLTIP:"",MPYTHON_AUDIO_INIT_HELPURL:"",MPYTHON_AUDIO_INIT_MESSAGE0:"initialize Audio",MPYTHON_AUDIO_INIT_TOOLTIP:"Create a cache for controlling the audio decoding",MPYTHON_AUDIO_START_RECORDING_HELPURL:"",MPYTHON_AUDIO_START_RECORDING_MESSAGE0:"Start the recording The recording time %1 seconds",MPYTHON_AUDIO_START_RECORDING_TOOLTIP:"Need mPython board v1.1 or above hardware version.The recording should not be longer than 5 seconds",MPYTHON_AUDIO_RECORDING_RESULT_HELPURL:"",MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0:"Recording the results",MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL:"",MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0:"For %1 Discern",MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL:"",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0:"Discern Recording the results",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_RECORD_INIT_HELPURL:"",MPYTHON_RECORD_INIT_MESSAGE0:"initialize Recording",MPYTHON_RECORD_INIT_TOOLTIP:"Recording initialization.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_RECORD_DEINIT_HELPURL:"",MPYTHON_RECORD_DEINIT_MESSAGE0:"Trelease cache of Recording",MPYTHON_RECORD_DEINIT_TOOLTIP:"Release the cache after the recording ends.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_RECORD_WAV_HELPURL:"",MPYTHON_RECORD_WAV_MESSAGE0:"record audio with storage path %1 and duration %2 second(s)",MPYTHON_RECORD_WAV_TOOLTIP:"Record audio and store it in *.wav format.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_ASR_HELPURL:"",MPYTHON_ASR_MESSAGE0:"get voice command within %1 seconds",MPYTHON_ASR_TOOLTIP:"Can recognize voice command within 3 seconds.\nNeed mPython board v1.1 or above hardware version.",mpython_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_button_A:"P5 (button A)",mpython_button_B:"P11 (button B)",mpython_PIN7_RGB:"P7 (Onboard RGB)",MPYTHON_PWM_PIN_P7:"P7 (mPython board)",MPYTHON_PWM_PIN_P9:"P9 (mPython box)",mpython_tem:"temperature",mpython_hum:"humidity",mpython_pre:"air pressure",mpython_left_right:"left-right",mpython_front_back:"front-back",mpython_vertical:("vertical","vertical"),mpython_horizontal:("horizontal","horizontal"),mpython_run_in_back:"background",mpython_run_in_front:"foreground",mpython_draw:"draw",mpython_clear:"clear",mpython_s:"second",mpython_ms:"millisecond",mpython_us:"microsecond",mpython_year:"year",mpython_month:"month",mpython_date:"day",mpython_hour:"hour",mpython_minute:"minute",mpython_week:"week number",mpython_days:"days number",MPYTHON_ORDER:"#",MPYTHON_REVERSE_ORDER:"countdown #",MATH_RANDOM_RANDRANGE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MATH_RANDOM_RANDRANGE_TOOLTIP:"Returns a random number in the specified incremental cardinality set, the base value defaults to 1",MATH_RANDOM_RANDRANGE_MESSAGE0:"random number increments from increment interval [%1 , %2) by step %3",MATH_KEEP_DECIMAL_HELPURL:"",MATH_KEEP_DECIMAL_TOOLTIP:"",MATH_KEEP_DECIMAL_MESSAGE0:"%1 keep %2 decimal places",MPYTHON_MIN:"min value",MPYTHON_MAX:"max value",MPYTHON_LENTH:"length",TUPLE_MIN_MAX_LEN_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_MIN_MAX_LEN_TOOLTIP:"",TUPLE_MIN_MAX_LEN_MESSAGE0:"tuple %1 %2",TUPLE_ITEM_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_ITEM_EXIST_TOOLTIP:"",TUPLE_ITEM_EXIST_MESSAGE0:"tuple %1 include %2",LIST_ITEM_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_ITEM_EXIST_TOOLTIP:"",LIST_ITEM_EXIST_MESSAGE0:"list %1 include %2",PARTS_OF_TUPLE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_TUPLE_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",PARTS_OF_TUPLE_MESSAGE0:"return tuple %1 from the %2 to the last item",PARTS_OF_TUPLE2_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_TUPLE2_TOOLTIP:"Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th",PARTS_OF_TUPLE2_MESSAGE0:"return tuple %1 takes %2 %3 items to %4 %5 items",PARTS_OF_LIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_LIST_TOOLTIP:"Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th",PARTS_OF_LIST_MESSAGE0:"return list %1 takes %2 %3 items to %4 %5 items",LIST_TO_TUPLE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_TO_TUPLE_TOOLTIP:"",LIST_TO_TUPLE_MESSAGE0:"list %1 conversion to tuple",tuple_create_with_MESSAGE0:"define tuple %1 = %2 ",tuple_create_with_TOOLTIP:"When you only have one element, you need to add a comma after the element",tuple_create_with_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",tuple_order_item_MESSAGE0:"tuple %1 %2 %3 item",tuple_order_item_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",tuple_order_item_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_ORDER_ITEM_MESSAGE0:"list %1 %2 %3 item",LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_LIST_ORDER_ITEM_MESSAGE0:"set list %1 %2 %3 item as %4",SET_LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",INSERT_LIST_ORDER_ITEM_MESSAGE0:"insert list %1 %2 %3 item as %4",INSERT_LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",INSERT_LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_TUPLE_ORDER_ITEM_MESSAGE0:"set tuple %1 %2 %3 item as %4",SET_TUPLE_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_TUPLE_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_TOOLTIP:"",DICT_CREATE_WITH_MESSAGE0:"define dictionary %1 = %2",SET_CREATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_CREATE_WITH_TOOLTIP:"",SET_CREATE_WITH_MESSAGE0:"define set %1 = %2",SET_UPDATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_UPDATE_WITH_TOOLTIP:"Add parameters as strings, lists, tuples, sets, dictionaries (add only key). For existing elements, do not do anything",SET_UPDATE_WITH_MESSAGE0:"update set %1 with %2",INTERSECTION_OF_SETS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",INTERSECTION_OF_SETS_TOOLTIP:"",INTERSECTION_OF_SETS_MESSAGE0:"%1 of set %2 and set %3",MPYTHON_INTERSECTION:"intersection",MPYTHON_UNION:"union",MPYTHON_DIFFERENCE:"difference",SETS_UPDATE_WAYS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SETS_UPDATE_WAYS_TOOLTIP:"",SETS_UPDATE_WAYS_MESSAGE0:"update set %1 as the %3 with set %2",SUBSET_SUPERSET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SUBSET_SUPERSET_TOOLTIP:"",SUBSET_SUPERSET_MESSAGE0:"set %1 is %3 of set %2",MPYTHON_SUBSET:"subset",MPYTHON_SUPERSET:"superset",GET_SETS_POP_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",GET_SETS_POP_TOOLTIP:"",GET_SETS_POP_MESSAGE0:"return a random item from the set %1, and remove it",LEN_OF_SETS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LEN_OF_SETS_TOOLTIP:"",LEN_OF_SETS_MESSAGE0:"length of set %1",CREATE_EMPTY_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",CREATE_EMPTY_SET_TOOLTIP:"",CREATE_EMPTY_SET_MESSAGE0:"create empty sets %1",BIT_INVERSION_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",BIT_INVERSION_TOOLTIP:"Reverse each binary bit of data",BIT_INVERSION_MESSAGE0:"invert each binary bit of the data %1",TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"Items can be strings, assigned variables, tuples",DICT_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"",DICT_KEY_VALUE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_VALUE_TOOLTIP:"",DICT_KEY_VALUE_MESSAGE0:"value of the key %2 in dictionary %1",ADD_DICT_KEY_VALUE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",ADD_DICT_KEY_VALUE_TOOLTIP:"Update the key if the key already exists",ADD_DICT_KEY_VALUE_MESSAGE0:"add key %2 & value %3 to dictionary %1",DICT_LENGTH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_LENGTH_TOOLTIP:"",DICT_LENGTH_MESSAGE0:"length of dictionary %1",DICT_KEY_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_EXIST_TOOLTIP:"",DICT_KEY_EXIST_MESSAGE0:"dictionary %1 include key %2",DICT_KEY_OR_VAL_LIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_OR_VAL_LIST_TOOLTIP:"",DICT_KEY_OR_VAL_LIST_MESSAGE0:"list of %2 in dictionary %1",DICT_KEYS:"KEY",DICT_VALUES:"VALUE",mpython_lists_append_MESSAGE0:"add item %2 at the end of list %1",mpython_lists_append_TOOLTIP:"",mpython_lists_append_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_lists_extend_MESSAGE0:"list %1 append list %2",mpython_lists_extend_TOOLTIP:"",mpython_lists_extend_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_lists_clear_MESSAGE0:"clear list %1",mpython_lists_clear_TOOLTIP:"",mpython_lists_clear_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MPYTHON_REMOVE_REPETITION_MESSAGE0:"list%1 remove repetition",MPYTHON_REMOVE_REPETITION_TOOLTIP:"",MPYTHON_REMOVE_REPETITION_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_Timer_value_MESSAGE0:"timer %1 count value",mpython_Timer_value_TOOLTIP:"Get and return the current count value of the timer",mpython_Timer_deinit_MESSAGE0:"clear timer / event %1",mpython_Timer_deinit_TOOLTIP:"Cancel the initialization of the timer. Stop timer and disable timer peripherals",mpython_Interrupt_AB_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",mpython_Interrupt_AB_TOOLTIP:"",mpython_Interrupt_AB_MESSAGE0:"when the button %1 is %2",mpython_Interrupt_pin_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",mpython_Interrupt_pin_TOOLTIP:"Rising edge trigger: from low level to high level; falling edge trigger: from high level to low level",mpython_Interrupt_pin_MESSAGE0:"when pin %1 level is from %2",mpython_Interrupt_pin_IRQ_FALLING:"↘ high to low",mpython_Interrupt_pin_IRQ_RISING:"↗ low to high",mpython_IRQ_FALLING:"pressed",mpython_IRQ_RISING:"released",mpython_PERIODIC:"repeated mode",mpython_ONE_SHOT:"delayed mode",MPYTHON_IS_SHAKED_MESSAGE0:"the board %1",MPYTHON_IS_SHAKED_HELPURL:"",MPYTHON_IS_SHAKED_TOOLTIP:"",MPYTHON_IS_SHAKED:"was shaked",MPYTHON_IS_THROWN:"was thrown",MPYTHON_SHAKE_DETECTOR_MESSAGE0:"when the board %1",MPYTHON_SHAKE_DETECTOR_HELPURL:"",MPYTHON_SHAKE_DETECTOR_TOOLTIP:"",MPYTHON_IS_TILTED_MESSAGE0:"the board is %1",MPYTHON_IS_TILTED_HELPURL:"",MPYTHON_IS_TILTED_TOOLTIP:"",MPYTHON_TILT_DETECTOR_MESSAGE0:"when the board is %1",MPYTHON_TILT_DETECTOR_HELPURL:"",MPYTHON_TILT_DETECTOR_TOOLTIP:"",MPYTHON_DIRECTION_FORWARD:"tilt forward",MPYTHON_DIRECTION_BACK:"tilt back",MPYTHON_DIRECTION_RIGHT:"tilt right",MPYTHON_DIRECTION_LEFT:"tilt left",MPYTHON_DIRECTION_NONE:"flat",MPYTHON_TOUCH_EVENT_MESSAGE0:"when the touchpad %1 is %2",MPYTHON_TOUCH_EVENT_HELPURL:"",MPYTHON_TOUCH_EVENT_TOOLTIP:"",MPYTHON_TOUCH_EVENT_PRESSED:"pressed",MPYTHON_TOUCH_EVENT_UNPRESSED:"unpressed",MPYTHON_CUSTOM_EVENT_MESSAGE0:"event %1 : when %2",MPYTHON_CUSTOM_EVENT_HELPURL:"",MPYTHON_CUSTOM_EVENT_TOOLTIP:"Custom events use port 1/2/4/7/8/9/10, shared with Timers, cannot access one port at the same time.\nMax up to 4 events/timers at the same time.\nIf there is conflict, try changing the number.",mpython_music_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_music_range_pitch_TOOLTIP:"duration is the length of a single frequency",mpython_music_range_pitch_MESSAGE0:"play tone from %1 to %2 step %3 duration %4 ms Pin %5",mpython_neopixel_init_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_neopixel_init_TOOLTIP:"",mpython_neopixel_init_MESSAGE0:"initialize light strip with Name %1 Pin %2 Quantity %3",MPYTHON_NEOPIXEL_RAINBOW_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP:"",MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0:"define rainbow effect of light strip with Name %1 Quantity %2 bright %3 offset %4",MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP:"Adjust the brightness range of 0 to 100",MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0:"light strip %1 set brightness as %2",mpython_neopixel_single_TOOLTIP:"",mpython_neopixel_single_MESSAGE0:"light strip %1 # %2 R %3 G %4 B %5",mpython_neopixel_single_gui_MESSAGE0:"light strip %1 # %2 color as %3",mpython_neopixel_single_gui_TOOLTIP:"",mpython_neopixel_show_TOOLTIP:"",mpython_neopixel_show_MESSAGE0:"light strip %1 setting take effect",mpython_neopixel_off_TOOLTIP:"",mpython_neopixel_off_MESSAGE0:"light strip %1 off",mpython_neopixel_all_TOOLTIP:"",mpython_neopixel_all_MESSAGE0:"light strip %1 full bright R %2 G %3 B %4",mpython_neopixel_all_gui_TOOLTIP:"",mpython_neopixel_all_gui_MESSAGE0:"light strip %1 full bright with color %2",mpython_time_localtime_MESSAGE0:"local time %1",mpython_time_localtime_TOOLTIP:"Week number: return 0 to 6, Monday is 0, Sunday is 6\nDays number: return the position of the day in the year\nIt is recommended to connect wifi and get network time first.",mpython_WiFi_config_MESSAGE0:"Wi-Fi configuration information %1",mpython_WiFi_config_TOOLTIP:"",mpython_time_ticks_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_time_ticks_MESSAGE0:"run time %1",mpython_time_ticks_TOOLTIP:"",MPYTHON_TIMER_DEF_MESSAGE0:"define timer %1",MPYTHON_TIMER_INIT_MESSAGE0:"init timer %1 %2 , cycle %3 millisecond(s)",mpython_Timer_MESSAGE0:"set timer %1 %2 , cycle %3 millisecond(s)",mpython_Timer_TOOLTIP:"Create timer n, n=1-14.\nMax up to 4 timers at the same time.\nIf there is conflict, try changing the number.\n3 for internal program,\n5/6 for servo system and ADC,\n11 is used for shaked event,\n12 is used for touchpad event,\n13 is used for Radio or DHT11/DHT22 timing value,\n14 is used for OneNET or tilt detection,\nothers ports are shared with custom events.",mpython_Timer_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",mpython_init_bluetooth_MESSAGE0:"Initialize Bluetooth Name %1",mpython_init_bluetooth_TOOLTIP:"Initialize Bluetooth Name",mpython_OnOff_bluetooth_MESSAGE0:"Bluetooth device %1 broadcasting",mpython_OnOff_bluetooth_TOOLTIP:"Bluetooth devices turn on or off broadcasting",mpython_HID_consumer_bluetooth_MESSAGE0:"HID Consumption Equipment%1 Status%2",mpython_HID_consumer_bluetooth_TOOLTIP:"Controllers that simulate HID consumer devices, such as Bluetooth remote controls",mpython_HID_mouse_bluetooth_MESSAGE0:"HID Mouse button%1",mpython_HID_mouse_bluetooth_TOOLTIP:"HID Mouse button",mpython_HID_mouse_pointer_bluetooth_MESSAGE0:"Mouse pointer movement x%2 y%1",mpython_HID_mouse_pointer_bluetooth_TOOLTIP:"Relative Displacement of Mouse Pointer Coordinates X and Y,Range -1023 ~ 1023",mpython_HID_release_mouse_bluetooth_MESSAGE0:"Mouse Release Key",mpython_HID_release_mouse_bluetooth_TOOLTIP:"Mouse device",mpython_HID_keyboard_bluetooth_MESSAGE0:"HID Keyboard device keys%1",mpython_HID_keyboard_bluetooth_TOOLTIP:"HID keyboard equipment",mpython_HID_keyboard_group_bluetooth_MESSAGE0:"HID device keys%1 combination keys%2",mpython_HID_keyboard_group_bluetooth_TOOLTIP:'If you want to use multiple keystrokes to combine instructions, you can use "|" or arithmetic',mpython_HID_keyboard_part_bluetooth_MESSAGE0:"HID Device combination key%1",mpython_HID_keyboard_part_bluetooth_TOOLTIP:'If you want to use multiple key combinations of instructions, you can use "|" or operation',mpython_HID_release_keyboard_bluetooth_MESSAGE0:"Keyboard Release Key",mpython_HID_release_keyboard_bluetooth_TOOLTIP:"Keyboard equipment",mpython_init_wifi_MESSAGE0:"connect to Wi-Fi with SSID %1 & Password %2",mpython_init_wifi_TOOLTIP:"Let the board access the Wi-Fi environment",MPYTHON_WIFI_IFCONFIG_MESSAGE0:"Wi-Fi set static IP %1 IP address %2 netmask %3 gateway %4 DNS %5",MPYTHON_WIFI_IFCONFIG_TOOLTIP:"",MPYTHON_WIFI_IFCONFIG_HELPURL:"",mpython_dis_WiFi_MESSAGE0:"disconnect Wi-Fi connection",mpython_dis_WiFi_TOOLTIP:"",MPYTHON_ENABLE_APWIFI_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",MPYTHON_ENABLE_APWIFI_TOOLTIP:"The password can be empty or alphanumeric with more than 8 digits.\nAP mode is only used for communication between the control boards. It cannot be used as a hotspot to make other devices access the Internet.",MPYTHON_ENABLE_APWIFI_MESSAGE0:"open AP mode with SSID %1 & Password %2 Channel %3",mpython_disable_APWiFi_MESSAGE0:"close AP mode",mpython_disable_APWiFi_TOOLTIP:"",mpython_ntptime_settime_MESSAGE0:"synchronize network time, timezone %1 & timing server %2",mpython_ntptime_settime_TOOLTIP:"NTP time synchronization is a time synchronization network technology",mpython_wifi_get_date_MESSAGE0:"get the current date string",mpython_wifi_get_date_TOOLTIP:"",mpython_wifi_get_time_MESSAGE0:"get the current time string",mpython_wifi_get_time_TOOLTIP:"",mpython_ntptime_timezone_E1:"UTC+1",mpython_ntptime_timezone_E2:"UTC+2",mpython_ntptime_timezone_E3:"UTC+3",mpython_ntptime_timezone_E4:"UTC+4",mpython_ntptime_timezone_E5:"UTC+5",mpython_ntptime_timezone_E6:"UTC+6",mpython_ntptime_timezone_E7:"UTC+7",mpython_ntptime_timezone_E8:"UTC+8",mpython_ntptime_timezone_E9:"UTC+9",mpython_ntptime_timezone_E10:"UTC+10",mpython_ntptime_timezone_E11:"UTC+11",mpython_ntptime_timezone_E12:"UTC+12",mpython_ntptime_timezone_0:"UTC",mpython_ntptime_timezone_W1:"UTC-1",mpython_ntptime_timezone_W2:"UTC-2",mpython_ntptime_timezone_W3:"UTC-3",mpython_ntptime_timezone_W4:"UTC-4",mpython_ntptime_timezone_W5:"UTC-5",mpython_ntptime_timezone_W6:"UTC-6",mpython_ntptime_timezone_W7:"UTC-7",mpython_ntptime_timezone_W8:"UTC-8",mpython_ntptime_timezone_W9:"UTC-9",mpython_ntptime_timezone_W10:"UTC-10",mpython_ntptime_timezone_W11:"UTC-11",mpython_ntptime_timezone_W12:"UTC-12",FILE_TO_LIST_HELPURL:"",FILE_TO_LIST_TOOLTIP:"Read the text file content of the specified path (only in UTF-8 format) and converts it to a list format, separated by the selected separator.",FILE_TO_LIST_MESSAGE0:"convert the text file %1 to a list separated by %2",FILE_TO_BIN_HELPURL:"",FILE_TO_BIN_TOOLTIP:"Reads the contents of the file in the specified path in binary format.",FILE_TO_BIN_MESSAGE0:"read the binary content of file %1",MPYTHON_INIT_FILE_HELPURL:"",MPYTHON_INIT_FILE_TOOLTIP:"Initializes a text file, creates a file if it does not exist, and clears the content if it exists.",MPYTHON_INIT_FILE_MESSAGE0:"initialize text file %1",MPYTHON_WRITE_FILE_HELPURL:"",MPYTHON_WRITE_FILE_TOOLTIP:"Writes content to a text file of the specified path, and creates a file if the file does not exist.",MPYTHON_WRITE_FILE_MESSAGE0:"write content %2 to the text file %1 separated by %3",MPYTHON_SDCARD_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",MPYTHON_SDCARD_INIT_TOOLTIP:"sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\nMake sure that the pins of the SPI bus are connected to the micro SD card which is formatted by using the FAT or FAT32 file system.",MPYTHON_SDCARD_INIT_MESSAGE0:"initialize SD card",MPYTHON_SDCARD_MOUNT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",MPYTHON_SDCARD_MOUNT_TOOLTIP:"Mount the SD card to the specified path.",MPYTHON_SDCARD_MOUNT_MESSAGE0:"mount SD card to path %1",MPYTHON_ENTER:"enter",MPYTHON_COMMA:"comma",MPYTHON_SEMICOLON:"semicolon",MPYTHON_SPACE:"space",mpython_def_clock_MESSAGE0:"initialize clock %1 x %2 y %3 radius %4",mpython_def_clock_TOOLTIP:"",mpython_settime_clock_MESSAGE0:"clock %1 read time",mpython_settime_clock_TOOLTIP:"",mpython_draw_clear_clock_MESSAGE0:"%1 clock %2",mpython_draw_clear_clock_TOOLTIP:"",mpython_tinywebio_start_MESSAGE0:"start TinyWebIO service, run in %1",mpython_tinywebio_start_TOOLTIP:"Wi-Fi is required to start the service, and the TinyWebIO service provides a remote control interface for the App Inventor application.",mpython_tinywebio_client_setup_HELPURL:"",mpython_tinywebio_client_setup_TOOLTIP:"Items send to the server (separated by comma)\nbuttona/b Button status\ntouchpadp/y/t/h/o/n Touch button value \nlight Light value\nsound Sound value\naccelerometer Triaxial acceleration value\nid the board identification \ntime timestamp \npind digital IO pin \npina analog IO pin\n----------\nItems read from the server (separated by comma)\nrgb0/ 1/2 RGB lamp bead \noled OLED display \nmusic music \nservo steering gear \npind digital IO pin \npina analog IO pin",mpython_tinywebio_client_setup_MESSAGE0:"setup TinyWebIO client params %1 TinyWebDB server address %2 items send to the server %3 items read from the server %4 access server time interval(ms) %5",mpython_tinywebio_client_action_HELPURL:"",mpython_tinywebio_client_action_TOOLTIP:"",mpython_tinywebio_client_action_MESSAGE0:"%1 TinyWebIO client",mpython_tinywebio_client_action_start:"start",mpython_tinywebio_client_action_stop:"stop",MPYTHON_CUSTOM_CODE_HELPURL:"",MPYTHON_CUSTOM_CODE_TOOLTIP:"",MPYTHON_CUSTOM_CODE_MESSAGE0:"%1 custom code %2 %3",MPYTHON_CUSTOM_TYPE_IMPORT:"topping",MPYTHON_CUSTOM_TYPE_NORMAL:"normal",MPYTHON_CUSTOM_VALUE_MESSAGE0:"custom value %1",mpython_servo_angle0_MESSAGE0:"set the servo %1 angle as %2",mpython_servo_angle_MESSAGE0:"set the servo %1 angle as %2 pulse width from %3 us to %4 us actuation range as %5",mpython_servo_angle_TOOLTIP:"power cable Vcc (red) connected to expansion-board power port V, ground line GND (brown) connected to expansion-board ground port G, control signal line (orange) connected to selected expansion-board pins",mpython_dh11_hum_tem_MESSAGE0:"DHT11 %1 %2",mpython_dh11_hum_tem_TOOLTIP:'"+" on the DHT11 connects the power port of the expansion-board V, "-" connects the ground port of the expansion-board G, "out" connects the pin0 of the expansion-board',MPYTHON_DH22_HUM_TEM_MESSAGE0:"DHT22 %1 %2",MPYTHON_DH22_HUM_TEM_TOOLTIP:"",MPYTHON_DH22_HUM_TEM_HELPURL:"https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",mpython_music_note_MESSAGE0:"note %1 %2 : %3",mpython_music_note_TOOLTIP:"Note, such as C4:4",mpython_return_list_MESSAGE0:"define list %1 = %2",mpython_return_list_TOOLTIP:"",mpython_display_Show_MESSAGE0:"OLED setting take effect",mpython_display_Show_TOOLTIP:"",mpython_display_DispChar_MESSAGE0:"display text %3 at x %1 y %2 text mode %4 %5",mpython_display_DispChar_TOOLTIP:"OLED resolution 128x64",mpython_display_DispChar_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",mpython_display_DispChar_5lines_MESSAGE0:"OLED line %1 shows %2 text mode %3 %4",mpython_display_DispChar_5lines_TOOLTIP:"OLED resolution 128x64",mpython_line1:"1",mpython_line2:"2",mpython_line3:"3",mpython_line4:"4",mpython_line5:"5",MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0:"OLED clear line %1",MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP:"OLED resolution 128x64",MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL:"",mpython_display_fill_0:"clear",mpython_display_fill_1:"full bright",mpython_display_invert_0:"black background",mpython_display_invert_1:"white background",mpython_display_show:"show",mpython_display_fill_MESSAGE0:"OLED display %1",mpython_display_fill_TOOLTIP:"",mpython_display_pixel_0:"dark",mpython_display_pixel_1:"bright",mpython_display_pixel_MESSAGE0:"draw a point x %1 y %2 as %3",mpython_display_pixel_TOOLTIP:"",mpython_display_hline_0:"erase",mpython_display_hline_1:"draw",mpython_display_hline_MESSAGE0:"%1 horizontal line %2 x %3 y %4 length %5",mpython_display_hline_TOOLTIP:"",mpython_ProgressBar_MESSAGE0:"progress bar %1 x %2 y %3 width %4 height %5 progress %6",mpython_ProgressBar_TOOLTIP:"",mpython_stripBar_MESSAGE0:"column bar %1 x %2 y %3 width %4 height %5 progress %6",mpython_stripBar_TOOLTIP:"",MPYTHON_QR_CODE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",MPYTHON_QR_CODE_TOOLTIP:"",MPYTHON_QR_CODE_MESSAGE0:"display QR code %3 at x %1 y %2 with size %4",MPYTHON_DISPLAY_MODE_0:"erase",MPYTHON_DISPLAY_MODE_1:"draw",MPYTHON_DISPLAY_HOLLOW:"hollow",MPYTHON_DISPLAY_SOLID:"solid",MPYTHON_DISPLAY_HVLINE_MESSAGE0:"%1 %2 line %3 x %4 y %5 length %6",MPYTHON_DISPLAY_HVLINE_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0:"%1 %2 rectangle %3 x %4 y %5 width %6 height %7",MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0:"%1 %2 circle %3 x %4 y %5 radius %6",MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0:"%1 %2 triangle %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP:"",MPYTHON_RGB_0:"0 #",MPYTHON_RGB_1:"1 #",MPYTHON_RGB_2:"2 #",MPYTHON_RGB_ALL:"all",MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0:"set %1 RGB light(s) color to %2",MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP:"1/30 of the original brightness can better display the color difference",MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0:"set %1 RGB light(s) color to R%2 G%3 B%4",MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP:"1/30 of the original brightness can better display the color difference",MPYTHON_OFF_RGB_LIST_MESSAGE0:"turn off %1 RGB light(s)",MPYTHON_OFF_RGB_LIST_TOOLTIP:"",MPYTHON_MUSIC_PLAY_MESSAGE0:"play music %1 Pin %2",MPYTHON_MUSIC_PLAY_TOOLTIP:"Play the built-in music",MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0:"play music %1 until end, Pin %2",MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP:"Play the built-in music",MPYTHON_MUSIC_GE_CHANG_ZU_GUO:"GE_CHANG_ZU_GUO",MPYTHON_MUSIC_DONG_FANG_HONG:"DONG_FANG_HONG",MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE:"CAI_YUN_ZHUI_YUE",MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI:"ZOU_JIN_XIN_SHI_DAI",MPYTHON_MUSIC_MO_LI_HUA:"MO_LI_HUA",MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO:"YI_MENG_SHAN_XIAO_DIAO",mpython_display_vline_MESSAGE0:"%1 vertical line %2 x %3 y %4 length %5",mpython_display_vline_TOOLTIP:"",mpython_display_line_MESSAGE0:"%1 line %2 x1 %3 y1 %4 to x2 %5 y2 %6",mpython_display_line_TOOLTIP:"",mpython_display_rect_MESSAGE0:"%1 border %2 x %3 y %4 width %5 height %6",mpython_display_rect_TOOLTIP:"",mpython_display_RoundRect_MESSAGE0:"%1 arc border %2 x %3 y %4 width %5 height %6 radius %7",mpython_display_RoundRect_TOOLTIP:"",mpython_display_fill_rect_MESSAGE0:"%1 rectangle %2 x %3 y %4 width %5 height %6",mpython_display_fill_rect_TOOLTIP:"",mpython_display_fill_circle_MESSAGE0:"%1 solid circle %2 x %3 y %4 radius %5",mpython_display_fill_circle_TOOLTIP:"",mpython_display_circle_MESSAGE0:"%1 hollow circle %2 x %3 y %4 radius %5",mpython_display_circle_TOOLTIP:"",mpython_display_triangle_MESSAGE0:"%1 hollow triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8",mpython_display_triangle_TOOLTIP:"",mpython_display_fill_triangle_MESSAGE0:"%1 solid triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8",mpython_display_fill_triangle_TOOLTIP:"",mpython_display_Bitmap_MESSAGE0:"%1 pattern x %2 y %3 width %4 height %5 with hex image data %6",mpython_display_Bitmap_TOOLTIP:"Display hex image data at a specified position on the OLED screen",MPYTHON_GET_PBM_DATA_MESSAGE0:"get inner image %1 Pattern %2",MPYTHON_GET_PBM_DATA_TOOLTIP:"Supports * .PBM or * .PBM format monochrome image files, retrieves image file data of specified path, and returns a tuple object",MPYTHON_GET_PBM_DATA_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0:"Get custom image%1 mode%2",MPYTHON_DISPLAY_PBM_DATA_MESSAGE0:"display image at x %1 y %2 with data %3",MPYTHON_DISPLAY_PBM_DATA_TOOLTIP:"Monochromatic image files supporting * .PBM or * .PBM formats",MPYTHON_DISPLAY_PBM_DATA_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",MPYTHON_BITMAP_FROM_FILE_MESSAGE0:"display image at x %1 y %2 with data %5 width %3 height %4",MPYTHON_BITMAP_FROM_FILE_TOOLTIP:"",MPYTHON_BITMAP_FROM_FILE_HELPURL:"",mpython_front:"front",mpython_reverse:"reverse",MPYTHON_FONT_DIGIFACE_11:"Digiface 11px",MPYTHON_FONT_DIGIFACE_16:"Digiface 16px",MPYTHON_FONT_DIGIFACE_21:"Digiface 21px",MPYTHON_FONT_DIGIFACE_30:"Digiface 30px",MPYTHON_FONT_DIGIFACE_44:"Digiface 44px",MPYTHON_FONT_DIGIFACE_IT_30:"Digiface Italic 30px",MPYTHON_FONT_DIGIFACE_IT_42:"Digiface Italic 42px",MPYTHON_FONT_DVSM_12:"DejaVu Sans Mono 12px",MPYTHON_FONT_DVSM_16:"DejaVu Sans Mono 16px",MPYTHON_FONT_DVSM_21:"DejaVu Sans Mono 21px",MPYTHON_FONT_DVSMB_12:"DejaVu Sans Mono Bold 12px",MPYTHON_FONT_DVSMB_16:"DejaVu Sans Mono Bold 16px",MPYTHON_FONT_DVSMB_21:"DejaVu Sans Mono Bold 21px",MPYTHON_FONT_WRAP:"auto wrap",MPYTHON_FONT_NO_WRAP:"no wrap",MPYTHON_FACE_1:"Heart",MPYTHON_FACE_2:"Small heart",MPYTHON_FACE_3:"Happy",MPYTHON_FACE_4:"Smile",MPYTHON_FACE_5:"Sad",MPYTHON_FACE_6:"Confused",MPYTHON_FACE_7:"Angry",MPYTHON_FACE_8:"Sleep",MPYTHON_FACE_9:"Surprise",MPYTHON_FACE_10:"Silly",MPYTHON_FACE_11:"Wonderful",MPYTHON_FACE_12:"Bored",MPYTHON_FACE_ROCK:"Rock",MPYTHON_FACE_PAPER:"Paper",MPYTHON_FACE_SCISSORS:"Scissors",MPYTHON_FACE_ROCK_S:"Small rock",MPYTHON_FACE_PAPER_S:"Small paper",MPYTHON_FACE_SCISSORS_S:"Small scissors",MPYTHON_DISPLAY_FONT_MESSAGE0:"display text %3 at x %1 y %2, using %4 font with %5",MPYTHON_DISPLAY_FONT_TOOLTIP:"",MPYTHON_DISPLAY_FONT_HELPURL:"",mpython_button_is_pressed_MESSAGE0:"button %1 is pressed",mpython_button_is_pressed_TOOLTIP:"",mpython_touchPad_value_MESSAGE0:"button %1 is touched",mpython_touchPad_value_TOOLTIP:"",mpython_touchPad_value_num_MESSAGE0:"button %1 touch value",mpython_touchPad_value_num_TOOLTIP:"",mpython_read_digital_MESSAGE0:"pin %1 digital value",mpython_read_digital_TOOLTIP:"",mpython_read_DS18B20_MESSAGE0:"DS18B20 waterproof temperature sensor at pin %1",mpython_read_DS18B20_TOOLTIP:"",mpython_read_DS18B20_HELPURL:"http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",mpython_set_digital_MESSAGE0:"set pin %2 digital value to %1",mpython_set_digital_TOOLTIP:"",mpython_read_analog_MESSAGE0:"pin %1 analog value",mpython_read_analog_TOOLTIP:"",mpython_set_analog_MESSAGE0:"set pin %2 analog value (PWM) to %1",mpython_set_analog_TOOLTIP:"The analog output is a pulse width modulated signal output through the IO pin, which outputs a specified voltage value, referred to as PWM.",mpython_set_RGB_MESSAGE0:"set %1 RGB light color to R %2 G %3 B %4",mpython_set_RGB_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_color_MESSAGE0:"set %1 RGB light color to %2",mpython_set_RGB_color_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_all_MESSAGE0:"set all RGB lights color to R %1 G %2 B %3",mpython_set_RGB_all_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_color_all_MESSAGE0:"set all RGB lights color to %1",mpython_set_RGB_color_all_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_fresh_RGB_MESSAGE0:"RGB lights settings take effect",mpython_fresh_RGB_TOOLTIP:"",mpython_off_RGB_MESSAGE0:"turn off all RGB lights",mpython_off_RGB_TOOLTIP:"",mpython_buzz_state_MESSAGE0:"stop playing music",mpython_buzz_state_TOOLTIP:"",mpython_buzz_freq_MESSAGE0:"play continuous tone %1 at Pin %2",mpython_buzz_freq_TOOLTIP:"",mpython_buzz_tone_MESSAGE0:"play tone %1",mpython_buzz_tone_TOOLTIP:"",MPYTHON_MUSIC_TONE_TEMPO_HELPURL:"",MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP:"The default pin is P6 of the mPython board",MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0:"play musical note %1 at Pin %2",MPYTHON_MUSIC_TONE_HELPURL:"",MPYTHON_MUSIC_TONE_TOOLTIP:"",MPYTHON_MUSIC_TONE_MESSAGE0:"tone %1",MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL:"",MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP:"",MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0:"note %1 beat %2",MPYTHON_MUSIC_TICK_HELPURL:"",MPYTHON_MUSIC_TICK_TOOLTIP:"",MPYTHON_MUSIC_TICK_MESSAGE0:"beat %1",MPYTHON_4_LINES_HELPURL:"",MPYTHON_4_LINES_TOOLTIP:"",MPYTHON_4_LINES_MESSAGE0:"%1",NUMBER_1:"1",NUMBER_1_2:"1/2",NUMBER_1_4:"1/4",NUMBER_2:"2",NUMBER_4:"4",mpython_read_sound_MESSAGE0:"sound value",mpython_read_sound_TOOLTIP:"",mpython_read_light_MESSAGE0:"light value",mpython_read_light_TOOLTIP:"",mpython_accelerometer_get_MESSAGE0:"%1 axis acceleration",mpython_accelerometer_get_TOOLTIP:"",MPYTHON_ACCELEROMETER_RANGE_2G:"±2g",MPYTHON_ACCELEROMETER_RANGE_4G:"±4g",MPYTHON_ACCELEROMETER_RANGE_8G:"±8g",MPYTHON_ACCELEROMETER_RANGE_16G:"±16g",MPYTHON_ACCELEROMETER_RES_10_BIT:"10bits",MPYTHON_ACCELEROMETER_RES_12_BIT:"12bits",MPYTHON_ACCELEROMETER_RES_14_BIT:"14bits",MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP:"Set the acceleration range, the default is ±2g。",MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0:"set acceleration range to %1",MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP:"Set the acceleration resolution, the default is 10bits。",MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0:"set acceleration resolution to %1",MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP:"Calibrate the acceleration value deviation of the three axes (x, y, z) of the accelerometer.\nIn general, calibration is not required, and calibration is only required when the acceleration deviation is large.\nx , y , z are the adjustment deviation values, and the correction range is ±1g.\nNote: Calibration data will not be saved after power off.",MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0:"calibration acceleration value with %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4",MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0:"magnetic force of %1 axis",MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0:"get magnetic heading",MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0:"magnetic calibrate",MPYTHON_MAGNETIC_PEELING_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_PEELING_MESSAGE0:"magnetic peeling",MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0:"get magnetic field strength",MPYTHON_TILT_ANGLE_HELPURL:"",MPYTHON_TILT_ANGLE_TOOLTIP:"",MPYTHON_TILT_ANGLE_MESSAGE0:"%1 axis tilt angle",mpython_random_choice_MESSAGE0:"random item %1",mpython_random_choice_TOOLTIP:"Return a random item in a list or string in String format",MACHINE_TIME_PULSE_US_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",MACHINE_TIME_PULSE_US_MESSAGE0:"duration(us) of external %2 pulse level at %1",MACHINE_TIME_PULSE_US_TOOLTIP:"",BYTES:"bytes",MPYTHON_I2C_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",MPYTHON_I2C_INIT_MESSAGE0:"init i2c with baudrate %1",MPYTHON_I2C_INIT_TOOLTIP:"",MPYTHON_I2C_DEV_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",MPYTHON_I2C_DEV_INIT_MESSAGE0:"init %1 SCL %2 SDA %3 baudrate %4",MPYTHON_I2C_DEV_INIT_TOOLTIP:"",MPYTHON_I2C_SCAN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",MPYTHON_I2C_SCAN_MESSAGE0:"%1 scan result",MPYTHON_I2C_SCAN_TOOLTIP:"Return an array object",MPYTHON_I2C_DEINIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",MPYTHON_I2C_DEINIT_MESSAGE0:"deinit %1",MPYTHON_I2C_DEINIT_TOOLTIP:"",MPYTHON_I2C_WRITETO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_WRITETO_MESSAGE0:"write to %1 %5 address %2 data %3 stop bit %4",MPYTHON_I2C_WRITETO_TOOLTIP:"Address: Number\nData: Number, String",MPYTHON_I2C_READFROM_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_READFROM_MESSAGE0:"read from %1 %5 address %2 bytes num %3 stop bit %4",MPYTHON_I2C_READFROM_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MPYTHON_I2C_READFROM_INTO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_READFROM_INTO_MESSAGE0:"read from %1 %6 address %2 into %3 bytes num %4 stop bit %5",MPYTHON_I2C_READFROM_INTO_TOOLTIP:"",MPYTHON_I2C_WRITETO_MEN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_WRITETO_MEN_MESSAGE0:"write to %1 %5 address %2 mem %4 data %3",MPYTHON_I2C_WRITETO_MEN_TOOLTIP:"Address: Number\nData: Number, String",MPYTHON_I2C_READFROM_MEN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_READFROM_MEN_MESSAGE0:"read from %1 %5 address %2 mem %4 bytes num %3",MPYTHON_I2C_READFROM_MEN_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MPYTHON_I2C_READFROM_MEN_INTO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0:"read from %1 %6 address %2 mem %5 into %3 bytes num %4",MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MICROBIT_CONVERT_BYTEARRAY_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/i2c.html",MICROBIT_CONVERT_BYTEARRAY_TOOLTIP:"",MICROBIT_CONVERT_BYTEARRAY_MESSAGE0:"bytearray %1",AUTH:"Please authorize this app to enable your work to be saved and to allow it to be shared by you.",CHAT:"Chat with your collaborator by typing in this box!",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"remove %2 item in list %1",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"Conversion data type",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"the integer part of the quotient %1 ÷ %2",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"Bitwise operations on numbers",ME:"Me",MPYTHON_PRINT_TO_CHART_TOOLTIP:"",MPYTHON_PRINT_TO_CHART_EMPTY_TITLE:"print data to chart",MPYTHON_PRINT_TO_CHART_INPUT_WITH:"print data to chart",MPYTHON_PRINT_TO_CHART_ITEM_TITLE:"data",MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP:"",MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD:"data content",MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP:"",MPYTHON_INIT_CHART_TOOLTIP:"",MPYTHON_INIT_CHART_EMPTY_TITLE:"init chart column headers",MPYTHON_INIT_CHART_INPUT_WITH:"init chart column headers",MPYTHON_INIT_CHART_ITEM_TITLE:"header",MPYTHON_INIT_CHART_ITEM_TOOLTIP:"",MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD:"column header",MPYTHON_INIT_CHART_CONTAINER_TOOLTIP:"",MICROBIT_IMAGE_CREATE1_MESSAGE0:"create image %1 line 1 %2 line 2 %3 line 3 %4 line 4 %5 line 5 %6",MICROBIT_IMAGE_CREATE1_TOOLTIP:"Create new image.",MICROBIT_IMAGE_CREATE1_HELPURL:"",ADD_COMMENT:"Add Comment",CHANGE_VALUE_TITLE:"Change value:",COLLAPSE_ALL:"Collapse Blocks",COLLAPSE_BLOCK:"Collapse Block",COLOUR_BLEND_COLOUR1:"colour 1",COLOUR_BLEND_COLOUR2:"colour 2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"ratio",COLOUR_BLEND_TITLE:"blend",COLOUR_BLEND_TOOLTIP:"Blends two colours together with a given ratio (0.0 - 1.0).",COLOUR_PICKER_HELPURL:"https://en.wikipedia.org/wiki/Color",COLOUR_PICKER_TOOLTIP:"Choose a colour from the palette.",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"random colour",COLOUR_RANDOM_TOOLTIP:"Choose a colour at random.",COLOUR_RGB_BLUE:"blue",COLOUR_RGB_GREEN:"green",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"red",COLOUR_RGB_TITLE:"colour with",COLOUR_RGB_TOOLTIP:"Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"break out of loop",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"continue with next iteration of loop",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"Break out of the containing loop.",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"Skip the rest of this loop, and continue with the next iteration.",CONTROLS_FLOW_STATEMENTS_WARNING:"Warning: This block may only be used within a loop.",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"for each item %1 in list %2",CONTROLS_FOREACH_TOOLTIP:"For each item in a list, set the variable '%1' to the item, and then do some statements.",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"count with %1 from %2 to %3 by %4",CONTROLS_FOR_TOOLTIP:"Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.",CONTROLS_IF_ELSEIF_TOOLTIP:"Add a condition to the if block.",CONTROLS_IF_ELSE_TOOLTIP:"Add a final, catch-all condition to the if block.",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",CONTROLS_IF_IF_TOOLTIP:"Add, remove, or reorder sections to reconfigure this if block.",CONTROLS_IF_MSG_ELSE:"else",CONTROLS_IF_MSG_ELSEIF:"else if",CONTROLS_IF_MSG_IF:"if",CONTROLS_IF_TOOLTIP_1:"If a value is true, then do some statements.",CONTROLS_IF_TOOLTIP_2:"If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",CONTROLS_IF_TOOLTIP_3:"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.",CONTROLS_IF_TOOLTIP_4:"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.",CONTROLS_REPEAT_HELPURL:"https://en.wikipedia.org/wiki/For_loop",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"repeat %1 times",CONTROLS_REPEAT_TOOLTIP:"Do some statements several times.",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"repeat until",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"repeat while",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"While a value is false, then do some statements.",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"While a value is true, then do some statements.",DELETE_BLOCK:"Delete Block",DELETE_X_BLOCKS:"Delete %1 Blocks",DISABLE_BLOCK:"Disable Block",DUPLICATE_BLOCK:"Duplicate",ENABLE_BLOCK:"Enable Block",EXPAND_ALL:"Expand Blocks",EXPAND_BLOCK:"Expand Block",EXTERNAL_INPUTS:"External Inputs",HELP:"Help",INLINE_INPUTS:"Inline Inputs",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"create empty list",LISTS_CREATE_EMPTY_TOOLTIP:"Returns a list, of length 0, containing no data records",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"list",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or reorder sections to reconfigure this list block.",SET_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or reorder sections to reconfigure this set block.",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"create list with",LISTS_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the list.",LISTS_CREATE_WITH_TOOLTIP:"Create a list with any number of items.",LISTS_GET_INDEX_FIRST:"first",LISTS_GET_INDEX_FROM_END:"# from end",LISTS_GET_INDEX_FROM_START:"#",LISTS_GET_INDEX_GET:"get",LISTS_GET_INDEX_GET_REMOVE:"get and remove",LISTS_GET_INDEX_LAST:"last",LISTS_GET_INDEX_RANDOM:"random",LISTS_GET_INDEX_REMOVE:"remove",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"Returns the first item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_FROM_END:"Returns the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_GET_FROM_START:"Returns the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"Returns the last item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"Returns a random item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"Removes and returns the first item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END:"Removes and returns the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START:"Removes and returns the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"Removes and returns the last item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"Removes and returns a random item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"Removes the first item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END:"Removes the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START:"Removes the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"Removes the last item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"Removes a random item in a list.",LISTS_GET_SUBLIST_END_FROM_END:"to # from end",LISTS_GET_SUBLIST_END_FROM_START:"to #",LISTS_GET_SUBLIST_END_LAST:"to last",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"get sub-list from first",LISTS_GET_SUBLIST_START_FROM_END:"get sub-list from # from end",LISTS_GET_SUBLIST_START_FROM_START:"get sub-list from #",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"Creates a copy of the specified portion of a list.",LISTS_INDEX_OF_FIRST:"find first occurrence of item",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"find last occurrence of item",LISTS_INDEX_OF_TOOLTIP:"Returns the index of the first/last occurrence of the item in the list. Returns 0 if text is not found.",LISTS_INLIST:"in list",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1 is empty",LISTS_ISEMPTY_TOOLTIP:"Returns true if the list is empty.",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"length of %1",LISTS_LENGTH_TOOLTIP:"Returns the length of a list.",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"create list with item %1 repeated %2 times",LISTS_REPEAT_TOOLTIP:"Creates a list consisting of the given value repeated the specified number of times.",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"as",LISTS_SET_INDEX_INSERT:"insert at",LISTS_SET_INDEX_SET:"set",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"Inserts the item at the start of a list.",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END:"Inserts the item at the specified position in a list. #1 is the last item.",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START:"Inserts the item at the specified position in a list. #1 is the first item.",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"Append the item to the end of a list.",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"Inserts the item randomly in a list.",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"Sets the first item in a list.",LISTS_SET_INDEX_TOOLTIP_SET_FROM_END:"Sets the item at the specified position in a list. #1 is the last item.",LISTS_SET_INDEX_TOOLTIP_SET_FROM_START:"Sets the item at the specified position in a list. #1 is the first item.",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"Sets the last item in a list.",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"Sets a random item in a list.",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"make list from text",LISTS_SPLIT_TEXT_FROM_LIST:"make text from list",LISTS_SPLIT_TOOLTIP_JOIN:"Join a list of texts into one text, separated by a delimiter.",LISTS_SPLIT_TOOLTIP_SPLIT:"Split text into a list of texts, breaking at each delimiter.",LISTS_SPLIT_WITH_DELIMITER:"with delimiter",LOGIC_BOOLEAN_FALSE:"false",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"Returns either true or false.",LOGIC_BOOLEAN_TRUE:"true",LOGIC_COMPARE_HELPURL:"https://en.wikipedia.org/wiki/Inequality_(mathematics)",LOGIC_COMPARE_TOOLTIP_EQ:"Return true if both inputs equal each other.",LOGIC_COMPARE_TOOLTIP_GT:"Return true if the first input is greater than the second input.",LOGIC_COMPARE_TOOLTIP_GTE:"Return true if the first input is greater than or equal to the second input.",LOGIC_COMPARE_TOOLTIP_LT:"Return true if the first input is smaller than the second input.",LOGIC_COMPARE_TOOLTIP_LTE:"Return true if the first input is smaller than or equal to the second input.",LOGIC_COMPARE_TOOLTIP_NEQ:"Return true if both inputs are not equal to each other.",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"not %1",LOGIC_NEGATE_TOOLTIP:"Returns true if the input is false. Returns false if the input is true.",LOGIC_NULL:"null",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"Returns null.",LOGIC_OPERATION_AND:"and",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"or",LOGIC_OPERATION_TOOLTIP_AND:"Return true if both inputs are true.",LOGIC_OPERATION_TOOLTIP_OR:"Return true if at least one of the inputs is true.",LOGIC_TERNARY_CONDITION:"test",LOGIC_TERNARY_HELPURL:"https://en.wikipedia.org/wiki/%3F:",LOGIC_TERNARY_IF_FALSE:"if false",LOGIC_TERNARY_IF_TRUE:"if true",LOGIC_TERNARY_TOOLTIP:"Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://en.wikipedia.org/wiki/Arithmetic",MATH_ARITHMETIC_TOOLTIP_ADD:"Return the sum of the two numbers.",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"Return the quotient of the two numbers.",MATH_ARITHMETIC_TOOLTIP_MINUS:"Return the difference of the two numbers.",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"Return the product of the two numbers.",MATH_ARITHMETIC_TOOLTIP_POWER:"Return the first number raised to the power of the second number.",MATH_CHANGE_HELPURL:"https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",MATH_CHANGE_TITLE:"change %1 by %2",MATH_CHANGE_TOOLTIP:"Add a number to variable '%1'.",MATH_CONSTANT_HELPURL:"https://en.wikipedia.org/wiki/Mathematical_constant",MATH_CONSTANT_TOOLTIP:"Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"constrain %1 low %2 high %3",MATH_CONSTRAIN_TOOLTIP:"Constrain a number to be between the specified limits (inclusive).",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"is divisible by",MATH_IS_EVEN:"is even",MATH_IS_NEGATIVE:"is negative",MATH_IS_ODD:"is odd",MATH_IS_POSITIVE:"is positive",MATH_IS_PRIME:"is prime",MATH_IS_TOOLTIP:"Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.",MATH_IS_WHOLE:"is whole",MATH_MODULO_HELPURL:"https://en.wikipedia.org/wiki/Modulo_operation",MATH_MODULO_TITLE:"remainder of %1 ÷ %2",MATH_MODULO_TOOLTIP:"Return the remainder from dividing the two numbers.",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_HELPURL:"https://en.wikipedia.org/wiki/Number",MATH_NUMBER_TOOLTIP:"A number.",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"average of list",MATH_ONLIST_OPERATOR_MAX:"max of list",MATH_ONLIST_OPERATOR_MEDIAN:"median of list",MATH_ONLIST_OPERATOR_MIN:"min of list",MATH_ONLIST_OPERATOR_MODE:"modes of list",MATH_ONLIST_OPERATOR_RANDOM:"random item of list",MATH_ONLIST_OPERATOR_STD_DEV:"standard deviation of list",MATH_ONLIST_OPERATOR_SUM:"sum of list",MATH_ONLIST_TOOLTIP_AVERAGE:"Return the average (arithmetic mean) of the numeric values in the list.",MATH_ONLIST_TOOLTIP_MAX:"Return the largest number in the list.",MATH_ONLIST_TOOLTIP_MEDIAN:"Return the median number in the list.",MATH_ONLIST_TOOLTIP_MIN:"Return the smallest number in the list.",MATH_ONLIST_TOOLTIP_MODE:"Return a list of the most common item(s) in the list.",MATH_ONLIST_TOOLTIP_RANDOM:"Return a random element from the list.",MATH_ONLIST_TOOLTIP_STD_DEV:"Return the standard deviation of the list.",MATH_ONLIST_TOOLTIP_SUM:"Return the sum of all the numbers in the list.",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://en.wikipedia.org/wiki/Random_number_generation",MATH_RANDOM_FLOAT_TITLE_RANDOM:"random fraction",MATH_RANDOM_FLOAT_TOOLTIP:"Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",MATH_RANDOM_INT_HELPURL:"https://en.wikipedia.org/wiki/Random_number_generation",MATH_RANDOM_INT_TITLE:"random integer from %1 to %2",MATH_RANDOM_INT_TOOLTIP:"Return a random integer between the two specified limits, inclusive.",MATH_ROUND_HELPURL:"https://en.wikipedia.org/wiki/Rounding",MATH_ROUND_OPERATOR_ROUND:"round",MATH_ROUND_OPERATOR_ROUNDDOWN:"round down",MATH_ROUND_OPERATOR_ROUNDUP:"round up",MATH_ROUND_TOOLTIP:"Round a number up or down.",MATH_SINGLE_HELPURL:"https://en.wikipedia.org/wiki/Square_root",MATH_SINGLE_OP_ABSOLUTE:"absolute",MATH_SINGLE_OP_ROOT:"square root",MATH_SINGLE_TOOLTIP_ABS:"Return the absolute value of a number.",MATH_SINGLE_TOOLTIP_EXP:"Return e to the power of a number.",MATH_SINGLE_TOOLTIP_LN:"Return the natural logarithm of a number.",MATH_SINGLE_TOOLTIP_LOG10:"Return the base 10 logarithm of a number.",MATH_SINGLE_TOOLTIP_NEG:"Return the negation of a number.",MATH_SINGLE_TOOLTIP_POW10:"Return 10 to the power of a number.",MATH_SINGLE_TOOLTIP_ROOT:"Return the square root of a number.",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://en.wikipedia.org/wiki/Trigonometric_functions",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"Return the arccosine of a number.",MATH_TRIG_TOOLTIP_ASIN:"Return the arcsine of a number.",MATH_TRIG_TOOLTIP_ATAN:"Return the arctangent of a number.",MATH_TRIG_TOOLTIP_COS:"Return the cosine of a degree (not radian).",MATH_TRIG_TOOLTIP_SIN:"Return the sine of a degree (not radian).",MATH_TRIG_TOOLTIP_TAN:"Return the tangent of a degree (not radian).",NEW_VARIABLE:"New variable...",NEW_VARIABLE_TITLE:"New variable name:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"allow statements",PROCEDURES_BEFORE_PARAMS:"with:",PROCEDURES_CALLNORETURN_CALL:"",PROCEDURES_CALLNORETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_CALLNORETURN_TOOLTIP:"Run the user-defined function '%1'.",PROCEDURES_CALLRETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_CALLRETURN_TOOLTIP:"Run the user-defined function '%1' and use its output.",PROCEDURES_CALL_BEFORE_PARAMS:"with:",PROCEDURES_CREATE_DO:"Create '%1'",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"to",PROCEDURES_DEFNORETURN_TOOLTIP:"Creates a function with no output.",PROCEDURES_DEFRETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_DEFRETURN_RETURN:"return",PROCEDURES_DEFRETURN_TOOLTIP:"Creates a function with an output.",PROCEDURES_DEF_DUPLICATE_WARNING:"Warning: This function has duplicate parameters.",PROCEDURES_HIGHLIGHT_DEF:"Highlight function definition",PROCEDURES_IFRETURN_TOOLTIP:"If a value is true, then return a second value.",PROCEDURES_IFRETURN_WARNING:"Warning: This block may be used only within a function definition.",PROCEDURES_MUTATORARG_TITLE:"input name:",PROCEDURES_MUTATORARG_TOOLTIP:"Add an input to the function.",PROCEDURES_MUTATORCONTAINER_TITLE:"inputs",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"Add, remove, or reorder inputs to this function.",REMOVE_COMMENT:"Remove Comment",RENAME_VARIABLE:"Rename variable...",RENAME_VARIABLE_TITLE:"Rename all '%1' variables to:",TEXT_APPEND_APPENDTEXT:"append text",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"to",TEXT_APPEND_TOOLTIP:"Append some text to variable '%1'.",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"to lower case",TEXT_CHANGECASE_OPERATOR_TITLECASE:"to Title Case",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"to UPPER CASE",TEXT_CHANGECASE_TOOLTIP:"Return a copy of the text in a different case.",TEXT_CHARAT_FIRST:"get first letter",TEXT_CHARAT_FROM_END:"get letter # from end",TEXT_CHARAT_FROM_START:"get letter #",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"in text",TEXT_CHARAT_LAST:"get last letter",TEXT_CHARAT_RANDOM:"get random letter",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"Returns the letter at the specified position.",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"Add an item to the text.",TEXT_CREATE_JOIN_TITLE_JOIN:"join",TEXT_CREATE_JOIN_TOOLTIP:"Add, remove, or reorder sections to reconfigure this text block.",TEXT_GET_SUBSTRING_END_FROM_END:"to letter # from end",TEXT_GET_SUBSTRING_END_FROM_START:"to letter #",TEXT_GET_SUBSTRING_END_LAST:"to last letter",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"in text",TEXT_GET_SUBSTRING_START_FIRST:"get substring from first letter",TEXT_GET_SUBSTRING_START_FROM_END:"get substring from letter # from end",TEXT_GET_SUBSTRING_START_FROM_START:"get substring from letter #",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"Returns a specified portion of the text.",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"in text",TEXT_INDEXOF_OPERATOR_FIRST:"find first occurrence of text",TEXT_INDEXOF_OPERATOR_LAST:"find last occurrence of text",TEXT_INDEXOF_TAIL:"",TEXT_INDEXOF_TOOLTIP:"Returns the index of the first/last occurrence of first text in the second text. Returns 0 if text is not found.",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1 is empty",TEXT_ISEMPTY_TOOLTIP:"Returns true if the provided text is empty.",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"create text with",TEXT_JOIN_TOOLTIP:"Create a piece of text by joining together any number of items.",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"length of %1",TEXT_LENGTH_TOOLTIP:"Returns the number of letters (including spaces) in the provided text.",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"print %1",TEXT_PRINT_TOOLTIP:"Print the specified text, number or other value.",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"Prompt for user for a number.",TEXT_PROMPT_TOOLTIP_TEXT:"Prompt for user for some text.",TEXT_PROMPT_TYPE_NUMBER:"prompt for number with message",TEXT_PROMPT_TYPE_TEXT:"prompt for text with message",TEXT_TEXT_HELPURL:"https://en.wikipedia.org/wiki/String_(computer_science)",TEXT_TEXT_TOOLTIP:"A letter, word, or line of text.",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"trim spaces from both sides of",TEXT_TRIM_OPERATOR_LEFT:"trim spaces from left side of",TEXT_TRIM_OPERATOR_RIGHT:"trim spaces from right side of",TEXT_TRIM_TOOLTIP:"Return a copy of the text with spaces removed from one or both ends.",TODAY:"Today",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"Create 'set %1'",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"Returns the value of this variable.",VARIABLES_SET:"set %1 to %2",VARIABLES_SET_CREATE_GET:"Create 'get %1'",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"Sets this variable to be equal to the input."};wF.PROCEDURES_DEFRETURN_TITLE=wF.PROCEDURES_DEFNORETURN_TITLE,wF.CONTROLS_IF_IF_TITLE_IF=wF.CONTROLS_IF_MSG_IF,wF.CONTROLS_WHILEUNTIL_INPUT_DO=wF.CONTROLS_REPEAT_INPUT_DO,wF.CONTROLS_IF_MSG_THEN=wF.CONTROLS_REPEAT_INPUT_DO,wF.PROCEDURES_DEFRETURN_PROCEDURE=wF.PROCEDURES_DEFNORETURN_PROCEDURE,wF.CONTROLS_IF_ELSE_TITLE_ELSE=wF.CONTROLS_IF_MSG_ELSE,wF.PROCEDURES_CALLRETURN_CALL=wF.PROCEDURES_CALLNORETURN_CALL,wF.LISTS_GET_SUBLIST_INPUT_IN_LIST=wF.LISTS_INLIST,wF.LISTS_GET_INDEX_INPUT_IN_LIST=wF.LISTS_INLIST,wF.MATH_CHANGE_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.PROCEDURES_DEFRETURN_DO=wF.PROCEDURES_DEFNORETURN_DO,wF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=wF.CONTROLS_IF_MSG_ELSEIF,wF.LISTS_GET_INDEX_HELPURL=wF.LISTS_INDEX_OF_HELPURL,wF.CONTROLS_FOREACH_INPUT_DO=wF.CONTROLS_REPEAT_INPUT_DO,wF.CONTROLS_FOR_INPUT_DO=wF.CONTROLS_REPEAT_INPUT_DO,wF.LISTS_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_APPEND_VARIABLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.LISTS_INDEX_OF_INPUT_IN_LIST=wF.LISTS_INLIST,wF.LISTS_SET_INDEX_INPUT_IN_LIST=wF.LISTS_INLIST,wF.LISTS_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.TUPLE_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.DICT_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.SET_CREATE_WITH_ITEM_TITLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_APPEND_VARIABLE=wF.VARIABLES_DEFAULT_NAME,wF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.MATH_CHANGE_TITLE_ITEM=wF.VARIABLES_DEFAULT_NAME,wF.LABPLUS_USB_SWITCH_ON="turn on",wF.LABPLUS_USB_SWITCH_OFF="turn off",wF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="toggle",wF.XUNFEI_SPEECH_TTS_HELPURL="",wF.XUNFEI_SPEECH_TTS_TOOLTIP='The synthesized audio file format can only be "*.pcm"',wF.XUNFEI_SPEECH_TTS_MESSAGE0="[iFLYTEK] synthetic audio %1 APPID %2 APISecret %3 APIKey %4 text %5 transfer to audio file %6",wF.XUNFEI_SPEECH_IAT_HELPURL="",wF.XUNFEI_SPEECH_IAT_TOOLTIP='The audio formats that can be recognized are "*.pcm" and "*.wav"',wF.XUNFEI_SPEECH_IAT_MESSAGE0="[iFLYTEK] identify audio %1 APPID %2 APISecret %3 APIKey %4 audio file to be identified %5",wF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",wF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",wF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[iFLYTEK] identify result",wF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="LARK I2C RGB color",wF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="Returns as list",wF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",wF.MPYTHON_LARK_GET_COLOR_MESSAGE0="LARK I2C RGB color %1",wF.MPYTHON_lARK_RED="RED",wF.MPYTHON__LARK_GREEN="GREEN",wF.MPYTHON__LARK_BLUE="BLUE",wF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="LARK I2C HSV color",wF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="LARK I2C HSV color %1",wF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",wF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="LARK GET COLOR",wF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",wF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="LARK GET COLOR %1",wF.MPYTHON_LARK_RED="RED",wF.MPYTHON_LARK_GREEN="GREEN",wF.MPYTHON_LARK_BLUE="BLUE",wF.MPYTHON_LARK_ORANGE="ORANGE",wF.MPYTHON_LARK_YELLOW="YELLOW",wF.MPYTHON_LARK_PURPLE="PURPLE",wF.MPYTHON_LARK_CYAN="CYAN",wF.MPYTHON_LARK_NONE="NO COLOR",wF.MPYTHON_LARK_NULL="FAIL THE COLOR",wF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",wF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="LARK I2C ultrasonic value",wF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",wF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="LARK I2C SET MOTOR %1 SPEED %2",wF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",wF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="SWIFT HORSE %1 速度 %2",wF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="LARK I2C GET %1 VALUE",wF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="RIGHT",wF.mpython_LARK_GET_LINE_LEFT_ON_I2C="LEFT",wF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="LARK I2C SEARCH TOUCH LINE %1",wF.MPYTHON_LARK_SEARCH_LEFT="LEFT",wF.MPYTHON_LARK_SEARCH_RIGHT="RIGHT",wF.MPYTHON_LARK_SEARCH_LEFT2="ALL",wF.MPYTHON_LARK_SEARCH_RIGHT2="NOT",wF.MPYTHON_LARK_SEARCH_BOTH="ALL",wF.MPYTHON_LARK_SEARCH_NONE="NOT",wF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",wF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="HORSE GET COLOR",wF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",wF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="HORSE GET COLOR %1",wF.MPYTHON_lARK_CAR_RED="RED",wF.MPYTHON__LARK_CAR_GREEN="GREEN",wF.MPYTHON__LARK_CAR_BLUE="BLUE",wF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="HORSE I2C HSV color",wF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",wF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="HORSE I2C HSV %1",wF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",wF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="HORSE GET COLOR",wF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",wF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="HORSE GET %1",wF.MPYTHON_LARK_CAR_RED="RED",wF.MPYTHON_LARK_CAR_GREEN="Green",wF.MPYTHON_LARK_CAR_BLUE="Blue",wF.MPYTHON_LARK_CAR_ORANGE="Orange",wF.MPYTHON_LARK_CAR_YELLOW="Yellow",wF.MPYTHON_LARK_CAR_PURPLE="Purple",wF.MPYTHON_LARK_CAR_CYAN="Cyan",wF.MPYTHON_LARK_CAR_NONE="None",wF.MPYTHON_LARK_CAR_NULL="Null",wF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",wF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="Horse Get Ultrasoinc",wF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="HORSE GET %1 LINE VALUE",wF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="RIGHT",wF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="LEFT",wF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",wF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="HORSE I2C SEARCH TOUCH LINE %1",wF.MPYTHON_LARK_CAR_SEARCH_LEFT="LEFT TOUCHED",wF.MPYTHON_LARK_CAR_SEARCH_RIGHT="RIGHT TOUCHED",wF.MPYTHON_LARK_CAR_SEARCH_LEFT2="BOTH TOUCHED",wF.MPYTHON_LARK_CAR_SEARCH_NONE="NOT TOUCHED",wF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",wF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="HOSRE MOTION %1 SPEED %2",wF.MPYTHON_LARK_CAR_MOTION_LEFT="Trun Left",wF.MPYTHON_LARK_CAR_MOTION_RIGHT="Trun Right",wF.MPYTHON_LARK_CAR_MOTION_FORWARD="forward",wF.MPYTHON_LARK_CAR_MOTION_BACKWARD="Backward",wF.MPYTHON_LARK_CAR_MOTION_STOP="Stop",wF.MPYTHON_DEFINE_THREAD_MESSAGE0="define thread %1",wF.MPYTHON_RUN_THREAD_MESSAGE0="run thread %1",wF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) convert number to bytes %1 %2 %3 %4 source number %5",wF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) unpack bytes to number %1 %2 %3 %4 source bytes %5",wF.LITTLE_ENDIAN="Little-Endian (Default)",wF.BIG_ENDIAN="Big-Endian",wF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[mPython 2.x] When board is %1",wF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",wF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="tilt left",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="tilt right",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="tilt up",wF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="tilt down",wF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="face up",wF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="face down",wF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="single click",wF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="double click",wF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="freefall",wF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="roll angle",wF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="pitch angle",wF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",wF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",wF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="Get %1",wF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",wF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",wF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="Button %1 is pressed",wF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",wF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",wF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="Button %1 was pressed",wF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",wF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",wF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="Get number of presses for button %1",wF.MPYTHON2_BUTTON_EVENT_MESSAGE0="When button %1 is %2",wF.MPYTHON2_BUTTON_EVENT_HELPURL="",wF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",wF.MPYTHON2_BUTTON_EVENT_PRESSED="pressed",wF.MPYTHON2_BUTTON_EVENT_RELEASED="released",wF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",wF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="Touchpad %1 is pressed",wF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",wF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="Touchpad %1 was pressed",wF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",wF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="Get number of presses for touchpad %1",wF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",wF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="Touchpad %1 value",wF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="When touchpad %1 is %2",wF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",wF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",wF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="pressed",wF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="released",wF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="Set threshold for touchpad %1 as %2",wF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",wF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",wF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",wF.BLE_UUID_TOOLTIP="",wF.BLE_SETUP_PERIPHERAL_HELPURL="",wF.BLE_SETUP_PERIPHERAL_TOOLTIP="",wF.BLE_SETUP_PERIPHERAL_MESSAGE0="make BLE Peripheral object with %1 name %2 Service UUID %3",wF.BLE_ADD_CHARACTERISTIC_HELPURL="",wF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",wF.BLE_ADD_CHARACTERISTIC_MESSAGE0="add BLE Characteristic %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",wF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",wF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",wF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE Peripheral %1",wF.BLE_START_BROADCASTING="start broadcasting",wF.BLE_STOP_BROADCASTING="stop broadcasting",wF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",wF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",wF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="read BLE Peripheral Characteristic %1",wF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",wF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",wF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="write BLE Peripheral Characteristic %1 %2 value %3 Notify %4",wF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",wF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",wF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE Peripheral disconnect",wF.BLE_PERIPHERAL_MAC_HELPURL="",wF.BLE_PERIPHERAL_MAC_TOOLTIP="",wF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE Peripheral MAC address",wF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",wF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",wF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="when BLE Peripheral connect to Centeral %1 connect handle %2 address type %3 Centeral MAC %4",wF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",wF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",wF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="when BLE Characteristic is overwritten %1 connect handle %2 attrubute handle %3 written data %4",wF.BLE_SETUP_CENTERAL_HELPURL="",wF.BLE_SETUP_CENTERAL_TOOLTIP="",wF.BLE_SETUP_CENTERAL_MESSAGE0="make BLE Centeral object with name %1",wF.BLE_CENTERAL_CONNECT_HELPURL="",wF.BLE_CENTERAL_CONNECT_TOOLTIP="",wF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE Centeral connect to %1 %2",wF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",wF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",wF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE Centeral is connected ?",wF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",wF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",wF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="set %1 as connected Peripheral Characteristic object %2 Service UUID %3 Characteristic UUID %4",wF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",wF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",wF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="read connected Peripheral Characteristic %1 value",wF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",wF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",wF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="write connected Peripheral Characteristic %1 value as %2",wF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",wF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",wF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="when received Notify data %1 value handle %2 notify data %3",wF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",wF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",wF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="connected Peripheral info %1",wF.BLE_CENTERAL_CLOSE_HELPURL="",wF.BLE_CENTERAL_CLOSE_TOOLTIP="",wF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE Centeral disconnect",wF.BLE_INFO_NAME="name",wF.BLE_INFO_MAC="mac",wF.BLE_INFO_RSSI="rssi",wF.BLE_INFO_ADDRTYPE="addr_type",wF.BLE_INFO_ADVTYPE="adv_type",wF.BLE_INFO_DATA="data(tuple)",wF.BLE_SETUP_UART_HELPURL="",wF.BLE_SETUP_UART_TOOLTIP="",wF.BLE_SETUP_UART_MESSAGE0="make BLE UART slave with name %1",wF.BLE_UART_IS_CONNECTED_HELPURL="",wF.BLE_UART_IS_CONNECTED_TOOLTIP="",wF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART is connected ?",wF.BLE_UART_ANY_HELPURL="",wF.BLE_UART_ANY_TOOLTIP="",wF.BLE_UART_ANY_MESSAGE0="BLE UART readable bytes",wF.BLE_UART_IRQ_HELPURL="",wF.BLE_UART_IRQ_TOOLTIP="",wF.BLE_UART_IRQ_MESSAGE0="when BLE UART received data %1 do %2",wF.BLE_UART_READ_HELPURL="",wF.BLE_UART_READ_TOOLTIP="message from UART",wF.BLE_UART_READ_MESSAGE0="received data",wF.BLE_UART_WRITE_HELPURL="",wF.BLE_UART_WRITE_TOOLTIP="",wF.BLE_UART_WRITE_MESSAGE0="BLE UART send %1",wF.BLE_UART_CLOSE_HELPURL="",wF.BLE_UART_CLOSE_TOOLTIP="",wF.BLE_UART_CLOSE_MESSAGE0="BLE UART disconnect",wF.BLE_SETUP_UART_MASTER_HELPURL="",wF.BLE_SETUP_UART_MASTER_TOOLTIP="",wF.BLE_SETUP_UART_MASTER_MESSAGE0="make BLE UART master, connect to %1 %2",wF.BLE_SETUP_HID_HELPURL="",wF.BLE_SETUP_HID_TOOLTIP="",wF.BLE_SETUP_HID_MESSAGE0="make BLE HID %1 object %2 name %3 battery %4",wF.BLE_HID_MOUSE="mouse",wF.BLE_HID_KEYBOARD="keyboard",wF.BLE_HID_CONSUMER="consumer",wF.BLE_HID_ADVERTISE_HELPURL="",wF.BLE_HID_ADVERTISE_TOOLTIP="",wF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID %1",wF.BLE_HID_CONNECT_EVENT_HELPURL="",wF.BLE_HID_CONNECT_EVENT_TOOLTIP="",wF.BLE_HID_CONNECT_EVENT_MESSAGE0="when BLE HID connected",wF.BLE_HID_DISCONNECT_HELPURL="",wF.BLE_HID_DISCONNECT_TOOLTIP="",wF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID disconnect",wF.BLE_HID_BATTERY_LEVEL_HELPURL="",wF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",wF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID battery level",wF.BLE_HID_MOUSE_BUTTONS_HELPURL="",wF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",wF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="mouse button %1",wF.BLE_HID_MOUSE_CLICK_HELPURL="",wF.BLE_HID_MOUSE_CLICK_TOOLTIP="",wF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID mouse click %1",wF.BLE_HID_MOUSE_PRESS_HELPURL="",wF.BLE_HID_MOUSE_PRESS_TOOLTIP="",wF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID mouse press %1",wF.BLE_HID_MOUSE_RELEASE_HELPURL="",wF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",wF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID mouse release %1",wF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",wF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",wF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID mouse release all",wF.BLE_HID_MOUSE_MOVE_HELPURL="",wF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - cursor movement, range ±127 .\nwheel - wheel movement, range ±127 .",wF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID mouse cursor move %1 x %2 y %3 wheel %4",wF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",wF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",wF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="keyboard button %1",wF.BLE_HID_KEYBOARD_SEND_HELPURL="",wF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",wF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID keyboard send %1",wF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",wF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",wF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID keyboard send multiple %1 %2 %3",wF.BLE_HID_KEYBOARD_PRESS_HELPURL="",wF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",wF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID keyboard press %1",wF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",wF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",wF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID keyboard release %1",wF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",wF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",wF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID keyboard release all",wF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",wF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",wF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="remote control button %1",wF.BLE_HID_CONSUMER_SEND_HELPURL="",wF.BLE_HID_CONSUMER_SEND_TOOLTIP="",wF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID remote control send %1",wF.BLE_SETUP_IBEACON_HELPURL="",wF.BLE_SETUP_IBEACON_TOOLTIP="",wF.BLE_SETUP_IBEACON_MESSAGE0="make BLE iBeacon object with %1 UUID %2 major %3 minor %4",wF.BLE_IBEACON_ADVERTISE_HELPURL="",wF.BLE_IBEACON_ADVERTISE_TOOLTIP="",wF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon %1",wF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",wF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="Return power in mV",wF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="Voltage(mV) of expansion-board",wF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",wF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="Return the encoded infrared pulse data buff",wF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="Expansion-board generating RAW coding %1 carry_freq(Hz) %2 len %3 repeat_pos %4 code %5 data %6",wF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",wF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="Return the encoded infrared pulse data buff\nUser code: 0~255\nCommand code: 0~255",wF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="Expansion-board generating NEC coding %1 User code %2 Command code %3",wF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",wF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",wF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="Expansion-board sending infrared pulse data %1 %2",wF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="send once",wF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="keep sending",wF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",wF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="",wF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="Expansion-board stop sending infrared pulse data",wF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",wF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="The learning result will be returned after 4 seconds.",wF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="Expansion-board do infrared learning",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="Is there any result for the infrared learning ?",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",wF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP='Return the learned "infrared coded data", which must be used after the "learn()" function.',wF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="Expansion-board learned infrared coding data",wF.MPYTHON_MAIN_HELPURL="",wF.MPYTHON_MAIN_TOOLTIP="This block does not have to be used, it just makes the program structure more regular.",wF.MPYTHON_MAIN_MESSAGE0="Main program",wF.MPYTHON_MLX90615_SET_HELPURL="",wF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 set sensor emissivity %1",wF.MPYTHON_MLX90615_SET_TOOLTIP="",wF.MPYTHON_MLX90615_GET_HELPURL="",wF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 get sensor emissivity",wF.MPYTHON_MLX90615_GET_TOOLTIP="",wF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",wF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 measured temperature",wF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",wF.MPYTHON_MQ135_INIT_HELPURL="",wF.MPYTHON_MQ135_INIT_MESSAGE0="initialize MQ135 at output pin %1 temperature %2 ℃ humidity%3 %",wF.MPYTHON_MQ135_INIT_TOOLTIP="V(VCC) is connected to the power port of the expansion board, G(GND) is connected to the ground port of the expansion board, and AO is connected to the pin of the expansion board\nMQ135 is used to detect the concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases in the air.",wF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 return %1",wF.MPYTHON_MQ135_OPTIONS_HELPURL="",wF.MPYTHON_MQ135_OPTIONS_TOOLTIP="",wF.MPYTHON_MQ135_GET_RZERO="correction of sensor resistance",wF.MPYTHON_MQ135_GET_CORRECTED_RZERO="calibrate sensor resistance (calibrate temperature and humidity)",wF.MPYTHON_MQ135_GET_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",wF.MPYTHON_MQ135_GET_CORRECTED_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",wF.mpython_gyroscope_get_HELPURL="",wF.mpython_gyroscope_get_MESSAGE0="%1 axis angular velocity",wF.mpython_gyroscope_get_TOOLTIP="Only applicable to the mPython board version above v2.3",wF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",wF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",wF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",wF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",wF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",wF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",wF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",wF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",wF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",wF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="Default is ±256dps. Only applicable to the mPython board version above v2.3",wF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="set angular velocity range to %1",wF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",wF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="Only applicable to the mPython board version above v2.3",wF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="calibration angular velocity value %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4";const WF=wF;Object.assign(a_.Variables,L_),Object.assign(a_.Procedures,xi),a_.Python=eO,a_.generator=eO,p_.Profile.default={},Object.assign(p_.Profile,MG),Object.assign(p_.Profile.default,MG["ESP32 Generic"]),Object.assign(a_.Lang.ZhHans,XF),Object.assign(a_.Lang.ZhHant,kF),Object.assign(a_.Lang.En,WF),Object.assign(a_.Blocks,t,e,i,T,E,n,o,s,O,I,a,p,M,y,k,V,g,f,w,D,X,v,x,b,Y,H,c,G,B,F,U,O_),Object.assign(a_.Python.forBlock,L,R,r,S,l,A,P,N,d,u,h,m,C,__,o_,n_,J,t_,s_,z,E_,T_,i_,e_,Z,K,W,j,q,$,Q,I_)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32/styles/main.9e8e2453.css b/boards/default/micropython_esp32/styles/main.25bd470b.css similarity index 100% rename from boards/default/micropython_esp32/styles/main.9e8e2453.css rename to boards/default/micropython_esp32/styles/main.25bd470b.css diff --git a/boards/default/micropython_esp32c2/build/Mixgo_Mini-v1.23.0.bin b/boards/default/micropython_esp32c2/build/Mixgo_Mini-v1.23.0.bin index 4a0440bb0a8f5e726f043900aec162348fd1324a..790701c3db4489e25bc9105638dd343b05fe8981 100644 GIT binary patch delta 200823 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ðHk^E^{mw_*RwMgDu~vMqN*dz&hd&p z!Ch<{B#b^79;@rrBngI5_V%JyH$AV%Vn|ncDZ?mpdp=RCV4Cj`11%jhhnBmY`rHMc z`$e<2u;);R$`q*T-FlR3d7-dvo!?N0Dqtw|Zn+W0Ej>dHCo5hz(OhPpkUbHMgrq;3+58A z+EpK5NHtUXy$#1fXN z-(>MLqeIFOvEp~zyh9wDH(~NgLFI;&lbp&7f6B+=*W;7L)5Qb1DS};k)#S50Vcu^k zpL2p`%_n~@$jqO&pMOi2`U_z;)=oYmNPEfO&6LjWxtgx)_&PXBj_bMxCw%!drxw@R z^o-X9SnYp|KW%(#-Z8;$VEv8|g^QU(-K!ig=fH8#zDl>nq7WFs^PGDoOaUtl z{y`lkV_C*F;aZ1r@U!|^pO8IsXtVwEM$n}he5;_}0(Y^+nYym@`2gIooYg!ugIttR zv6vPNrv=Qb?1s~^1S6xG+`3J-{NjSLRJj&JVPBD;lAd7=mW>$4YO`4;WH>N~y;VE(xX%mo=J2 z0D#*c?BQ%nnMEuC71pV^IDY!lo~O=>i#=s?3+|q&gK- zmLFpwUDyU;x&?i2iwNYW^O62KfZ2}cp?OgAFzK@0u(4YYv^-?UQ5BusqT>O2xIM}ljd8w_^-+iJ!HC9XL zkai&ChI>ns+wt!Far)JHYzJkQ=sX&mhC|TswF=V+?$T2rwKHkc<*cqx099QR0fB$d3yS$Xo$BbCYUtz{%-K^Rq6Hi)NI@H zTx$Mwt?k(m3+If9la`a`)0KNOUaSwH=Hi5}rlt_`^`XqTS$N85g-^;L^&#k7G{DVz z>0Bk`!466<_wxD>W|YmLg#uJp%$dO@z-(ten=_+$#8s+Xi%-|5fK4MB9v(`j5=Ox> zcmBA2LM74?isO56MBhtw85F?W!Fr(o5i+WylI6yAW)Zza8KsTk361_31!);KF0E^} zR)q{SAcFA^xa;Fld|=7Yxq6nadxwd$A!in{&=K2=m)j$Dq=Kr#bw7_CiEo!}CP6wV z3F4Y3UKoy7NvBRq3pt(Sc2e%hm=j_tw&ieK)2T zd*aLxD5sVh%xIMTFc=vxlR}Z(dsyFjBlinw>HUI9wJDVTwr8`qi+s`Tn3p{x4i9w_ z56zV037&-nJU&a;-wv7#>F=jQn0K!GC0RvX@dN;VpQ$mo4`kD#%blx~XboJGVGuAS(#@(0P zlc}`Hu!oQ#<*=p{gZr8y6y?uhX3~G;?Mx*-Lx~Nk6A-#%Atc`)q)~UJWkzCbNPz~q z8iqKok=wc}qup|BNHN?Jc_UECCWax-pCSegOpE@1>f_O^2z2%B6dh_`zTX!WL21Y% z?Qc@LyML=sglfk{g9NcrpOX>Q@#`2uT&a(TQ(d5qQzC@;f(ns(jE=@Sm2NFfOU9Ye zpWLL}ddv5id7#0;YJ;N9HSFj^V0rZLl4*J(u8*%cX)I~D_XvJV?&_huD4SRIR4&8C zU)NJ<;YOq9L9}ey6zK7OJ>K#5!eL3GeUWf$YjnSb)?DCxbM!d>TMLI>+s75*ITQ<5 zCvepdS9;xH)jPH?9EK2nR%BAW0UK?dGdl`F?~Y*j#=>E91kUqbEQT(D%blgiIkqeu zwwxsPR&J9g6IX9#zkHIUW+}J2H}J;c)iQag-Bb=|Eq1#Y%0njNT3(XZ)_i`ssV+xk zGq^^q6wuUkK|`0?^9&XWcx67ua4SrgHVB;SWz07j=7Xoh7<6CGrQ~Xsa>U*Hk)0gt zU#90!8MIwqQrMI$y^UGy}e*MHfXyzj$%PHv_e3m1iXhKSDOyMAdt={qme;@gc0jR zb>O=9w&vdFUojo*E};I$qM=d-mlt-dgL;ZcaX+Pp{1RE;52KAcNj2VXUlg%)P|Sua z*3i;HEn7NRiKPRUWB;sJR-B31YYh%^pi2j=*08kB@nqc1SUMO(mfVb`gU2G44j3OP zA!6x(p@MhD;;;?=j+$xF96b3e`y(T7lhppoGWlV$qd(%IMumoWxopU0-iA1ovV5Fp zhx$^D&1I#uzVO`iy)sNZL}*Z0OoK#*1GQK~(7o9Ml&SJ`vUY&d{f>drylC)H z*)Yz__>`WPr<34xvyPLwf^%T9`IbebPggSsD#PVoZR3Z2B~dvsq=7~}QIKzc)0CtaWKGg8A#4lHpMfuLfs6^1M zUa6<+G@;Hh_Rglf2NYZDfJarm>OUN`moUy(0u_64EB`<;@;_$<5a@^GIHS z@-)^&EJ#AI3m3q~zPZsGxso=Ek5WA+6%AnsB8leVJC5~cDH}Ym^MlicO9ZiLR=y;;rjIrp=Vb@bk=DoNC<^-K$wSA zmn4c=l0zs_iXI)xw~C=|(QN(FKYMtFFzC=6f&#Wp2Q$8`XXgA~Z8BJSL3V$oX*qzs zaoiB7anZD>nUhg7H)wSvc#QLrzR*%q-z85=$0br*WbID$U7L8i;E^jLoOnm!;6iq0 z0xL!7GmU4hg>=bQT4D=^*4GQc9W*NBPCCwj0Q>c3?swEhUJDEGS_=_c7Af7o6GC?Fa&2}tX)ju`2obPikul=*TX&U+Hp9;DV&Eq zOe?q#A}O#8m@@@BvK963rpPt>{w^3q@^Tc1`%rZ0*=Vf!?Yye{uuvE_6{qMRT<_~j z!tCOFSes*1Y5I{uu3%M^TxP#W%M|=>A}g~;ml{pKLMv$lZN(3gdvdY9cNXh=4GkT{`d)_|)4Y$>EVin5J!QX| z$DCsOC-3Lq^1jFV9{V*t8S8uOX+|p6_t;aOAM1PU$+Qydd;HsCtncx38?e5|pZ>=B z9#8ixUEkvgf5!SAd#X8!^*!c|+xP_5_t=x^zIpq_w|n~wv1X)VeUFprL+;B{I*(rq zV`t-Me;-y@XacEOKwI~ss+`svl=GS6TLj~`vA)O1lsX1asR@_^#Z9>`dA_;ipoFl4WyFPMtFFSH| zukOO8(I0b^v@FCSG;_nSz8|OWrptS*p809F<$q$jXcGKO>%(Z%;n4&;#sp(1=VRfe zHndI5e*9%2JZ~vz3t{#PbS~ET7*{tZ@Q{A3?T~1aJzL$c~rRHrf0S|YBYnK;so zKg}f_@|E!!534zm)1RDLIPK_?$HS;6@Q~!tBWoEXIEDD#%8ewDuPk-X$jXkunLTjH znC93`+4R(3bEP3WgpJ%(h2JvdRsZ&GIJ__q0m%d zVl)~qux_Ee`eZ%al|8C_TK<(`r}7iwiqa05b1o#0k3iu49P+~mWl+wrkj{l=P#vT5 zup=vvK?hjL&8ZbR?nU)LckzVw@USf5$kyVKN>VofIVcx3TmuC%V}pWD^43V@Nz4f| zM=5#kp7q6mn-G3X)1#UYTG2Zl^Mx**-O8#dlJF8>Qe1%Ymdx0a}u#S^|H=&3=*hF!3CE)v1UnQJ>RVHTI2JI38H_}+w zH7XSP3N(mCjjrlMh+|@Ea{WdIk5)#@?P&oy$Xlb8W<&m~k7ve07jW;_)WG=%f6$yW zVjnR#mA{B>3|1hxsQ?mTDi>lwr0ZnN7^QQ@)!4jgD0U49`TiHSx!{*%%NT4i8AXnc zfrlMY9An@_`!O~FCpvM{BOm~$uV%EtPe{M9aH3s^4WWC$${ye&D-Gg2MM}piZQP0X zA5Y01mu++QKcY^co%W0*blU7GuM0YD_H?m5I&Jn;wgH_s|Fu_&NN1`;f6Bhqyq0oY zJZ+dPp7PeCBj?ymbmaVLJ-T`Jmb72a5yvR{ySZuCcQQ7(PJn&i zg~85!a!zXY5!G&R+33MR^pY*H2RHcYW$d}-{m*-R9R=$uF4~BCzKm~|V1~z-J`ZGl z5_=8|Xn;E(b>3LEbB(OSWU3epkshLh1z>dmm^j(K%gOT=ZiB6ZPOIQ78A^e`k z6YY<_^!^Sn$)12FZ$lIS1Zi$6QbC@cTz~}vO|)PIf}W8dL`ib5C(q5A5CzfmQx$F# zc)Cm%R$<_&Y1!2EYCMsDI4yaBK_C?OsqHj+s1NCU^-&W)*s2VCOxftFVO6 zo*hrt$I%iAVy%uMjfr8=19wLm3(wGFltKqJ+NuTXTzD>6k#M=E;Q~0!LW*N^t)*Uk z4-|&oNU#G=fAS8t#w!-y**DjH_3@Bdpy>v_FiUCTzACygeg}@N_)5yJrCa04>WPY( z489#}xOYWT3KyQAHrT783a_AE;W2p}u1G3c;ROVZsKOimG+nb}8$8MHw=3h_6GEM6 zXHAck1O%u=$-`X|&Q5UfNR=xlI95aXBT#I31e{)p9-P`j7s~ZY4Bo2Y8wES>7exJ| z$eGE?%^CTj47KOpC|(VM>5%Ce7}R~?0;2xCJCt@=IU2cb=~0=WfE0ZuT;07@JQJ?L zWc3~3H!wCo_`%D{o&p?eYMMbfJCTGt!LP5z&(l7V9|J`2bF|a=IeHVZaT4rf{t?Rw}m5oUKzM|}$DP&#vbq!_`5yHwg1rXD+cgf<+bs>z>Ilof7! zeG;qzfLo`m976C8hOrC$8`Z(EuW%C5`Bb?6n;qz!fQ1D^7ipruVQKw;hMSNb{NNX5 zs$$CHBSsww>e$gpW zm&uN)aPM~{7wA75X+90(vESl;bl0uk-D0~)zSG4xoaA>7PKZ6({S9Xft;GA zbjxar- zih{>TQtnb_xjza?7cyPGDWr@Z%+p0LovVuWplSXF(sZH0;D@o$1$60}qBHeq&mM|C zBC_H<#*zI)qZfAm0${A1=`{dhwFFf@gPWF5nImwEX~S`tIHzMMqCu<}NN}?_6icc) ztie;MqI$3GM@#j@_wN&`-XBGSosOr8m)olxZ7v=5nFnPe(8QVI#}JM&_xynREzVS- z&GPabeoj+wGg7rh+btE<*{zeG$e;FVYhL zTHeA(u=lbs53cadv4}VYk;v}Kxq_Yp(9z9^I0{*?2P5KG7mElxrU8=BV2`jQfoBlx z!BBx$LMWa6IyBaFqg!a0<64Sf4~BBB?h*^;?;x^`4Xa_8w3u|5iC~XA`EdXb%*1g3 z(M;`ZEDvy`+puhBNS(jYZLWMuG542p0>PM7#`UrC&)GVs+IlrLSE0faVXNYpV`8Gs>Q{mo-58T&&(Vp!x97L0@2!z}>4) zPv?{-w@5!XB0WwZxfg?z=`7E>P5N}OYvVBZjYOUq3(shb3;5GCHDCCtxPr}f@OGOP za7I4twhasB7{xJ8cD1%}Fd+jpjos{aYOM0LoH&M`%Fn3cAZc1?xnr0f zQx{@`T8r^+n2XeF{7%Nj?U8cz5PEg%07fy7iD? zi$uXB*oD@1zg+|B@{Unwm`R}Nq1`+ufsPch&HjflxBw3{722at(2({p&<#=O*!|oH}WMz&W{Jkq*X~*c=xSLRT-=IB2ku!ig9eCi~u6|(05oREDYht%w-4|O_c6_U-F8* zEa8&fHyokp38CK5`A*T2`%Qw>Q9dwcyUgiyVYxn~e>WNU2*TRfzBpXuWomdgMa<7;?aYQusX*^cr{1GV1I z^*W7tvS@197s0?6!C-Sppo`?jN8$4Lf-SuEqzkWWaMy*jp#K^5G3vQZ{}VSeu&0fS zaWeydD#6VRGw83T&6CAb&Bc_%{MVX)Cm-g&ZtOYv7>cv`*Qkw5~l( zX^sSQS}NS56)fP~wxul1an;PT#=rTkCFwNHdUMedleI%pyrD~D+<3>9r|u=L$FPFC zPBSiN7Mnm~l0_z+qr6Vx|ulPCnpf=-;a?mAX?W$vNJt!G-(>PuOo5YK~|V?V`~k$bR)wDiHTf zJD!kpT2^JjnU4Ex$MvhuV*5mKgRO3#Xg^%|@r!ghkh>P=l-F?{&c&gYtM?7=P@aQ* zgod$}%<^1J^AvmtT{NpYILlg_=b%Kmrl@GeLNwp8uxOs*@LKX{tp)Ie@VbW2?H6#m zm>g#7xewP0FabRCL$DBA%-gX9%?b$1x?z-K7EZunD8~~aR7j7|qJ~0*m_X&wk@)mp z0v32Q7OX&MCil4z3@Fz$oPfiaxgH`hyP79$lWj^>XEeOM&NabO;ra53Q&`MT+MdfH81jq|$_(o3At= zSLP`r<)OqmUrCzrJhZS2l^%yN>2%lQ5qkL`^UxT)_D1qd;1tla@Yv^x+XZznQJkEIQ1)ZaENf~Qw(5w>AeMUmCGN8a!} z7s1gcwg_}JnQU922r%T zLlX5CH5G=qjc%%Z6Y@}RKqx038x3Z7$=x&-q%Iz{?Dc3!Fupz3_U{)a8;~JvMc`TT~pKy!28n${cYCI(Z#`YjFt~ngESL0_f1S0*$Z) z9oqT37M5^r7Yj>Z0yui@P;XwSG?#}rFWJ~YDrvVQ;bF;c^jL4h5xHB+XMM~IFL*V? zD3nvwZ!BS(;4|R))ath+Zbx>9CC90*$^>iypojM;8ujhSGfPZwWZyK{GJarpd&=gc_LPx zDnxll3Ko2aH1H~e1~IoGLR9!gl}xFQ>JXWb+0Z76?)b{vi1K`!s#WM>J9)~BNbJ^R zEB*H>sr6!rvNuE^R4SAJT}Z0g4gz&y0?tk0qr4U#x)00a;z}G|zHi5-}@V*EtBl;NNB<0E4GXLfD0yKmLWd3;uKsaTn}q<0Zshu&1&uh_>LrPC*0)|Moe; zF4$Av34~qnr~L@Kz!MF-xVS}xUErODU0k$Bg5y7@R$qdLz*ov z@^m>AY14r>NkusVsJHV?*eHkxW|EX8SZ#bX1kt*Y z190La17+0!&`uNb33;ZG(j`ivyqtWoL}`|BUo2!X4NUq37KkG@bjXRM?NT(!ch`r| z%sT{#Zrs=8bB)o)3?ejum4H7y0BkS%c!(R&m^O=GI%+;b=ceVqQ#HG;>PH%Nrk-A^ zB+GI!x%8CM0!Qwle_-`Umvb7LWjc+V<2((W{8^;u)5;z0At8unE8y;GBp|eh3MtFq z^`A-OcZuMcTS7QJE80zfRivsMo%acpqkjk`xTP4tj&4C@u!DMbfppU48N|3}QB0`Q zI{<^Co!$X-dQ5-8w79~-!>{e+Z~mSk4x0Uf!8Rcm>-a+XaXKm+WZE9t!;w<=5K@;T zTSGUOjTfY5H~y5POK`=dVCu?<1ibP7y)-KsBaKVmIICFqw%Aggaz_~>}JxOc9 zQWnxW+ebku#7sA4*4KZq@!BQWQo^(qNR7gogF2SRALpvDto<~i;;upYwOz|sJ4y92 z#hr8WYG;@1hb1|eT{ciY>ntbdyfKO##GvM1fF3RHlx7G#ZBQmlDwG)+me>$>4`md@ z|2t{59Gle5^&zMt^zZ}#BK7OKy1k0?a~Wcxf&vw3qS7yG%dww_821h{JU{(Yh!e*d(DiRLkm6{h2@~@JJx=<8n4eX;VKG{(v4R)Z9}Unky-#~R3gYDH zV)V1h{EVMtLyGA-%W>3>6Jdz|EKw@4LHYao5I(b_fa;Ta!CW7|L>rf1$OF$RDdgcw z>{1Sf(4mS!%b4yWGaZX8YXl;)#5^@5^Eu4gPR3^AXafBm zjb!86N2ebVLBy;CJjd(P!0Nf65Xsi@4$bI)zs#L8>O@J$oCMN#h4PU5{SbjrdB8D( zX>}eVJbZLo9V&X~R(kCGNE&R#?dH7@R+r}jfsM2`&z3iYm3sE*Q4Z#fp;jYcQ8I5N zy;mytkKRr(;U*EKVXQtAE_NqwW-hQjQiTm$T(Yh8(;Gk5rGJrJU8#)4u&tgkVle^^ z?Yx6vKu1yG%vZu)%!oVJ$3jt$Hbrp*)|$=WvRwidj2g0G#CD)L+{yyRhHN2bo~KBV zDEH=&`ka^{(qOazis#F4mZTCp))aVutM6?cm89Z%B`KM%X`qd*{+h+F9N?bBzyfBy zj^Hy)nSzB%uS# zvQ-#FvZr)629fNEZM|VnH7{e>$-n)L;UrI&ijgCKdJf}7_H^-ij3L=mUT=&X`LEd+ zIkKm+F&H`Wr@IiUizn*Gc%eTd?S&g+#ya9yg|h@6kIJoR!(E8>tl5K%&>^45h`)$D zuuAEc*rd|uJ6gGT@mccfDrL~^XN!Cnq^83L8K(b7$8_Ci&@l*ddA6OYsKK|=^TYR> zrvH}(!Ol5w*@ zor+L`BgFQ$l4L*B!&@qk@_pe=T|o+{M1g~(&)dr9@@{hDJIV(65wiCkgbF;W{`L-n zdo0hVe6+};*3cr}_&k}kM>%QrQvbukoaC{;{WC)OM;P?^Dv` z2Z?JRR_NxCCHs^qNl*}1RnFtu)1k-IfA=Z7;yU+l>$DpKne@6a;-upEZ?=20+gz5` z46%C?QZGwwhH&mRo5&Xd(9BZJ`<2=8avXX5AYT6=YY!@qG#ic;hV&*Vp_=~v57V-; zm&s4zZ5YWsq_k`{VCdoghl}D!To(Pwl$XzoGjD`?_aP854Oy5A8y`YeRx3k7FTrZ1 zbLi!U8f?^^OYW>uy5nC(jnWNS4%DES9w(P-aP-%H^`65xh&OSC-DG+ToY#|8N09aj za_opw*bXyTDeftpXvH%bT;BoNmf{-O>;`W~k@0mT|ES`%qwZlIYD=+U(?h}qL>X7l zBVQj?md8K21}Co{QBs-@+ND+}4$eZMFxB{~SHjD_6FgrfuYaJp2Y7dS=gN2bepmrb z#&P1#(#k|RuB5|3rD&-+PH1!`!o{t2)6$Mb*1wx%9fq^sym*B=^B6XCCqJ+@?@k}^ z@=ot#^3N+sCM_H3e)86FWtn~F-$UspE7H+ylE_j2IBB@_>RCpMBfT3V%k^QTg1lzXZJW$S-&asnBc zVD%>d9pBz!sWgnV>@*#c2I3McW|4oYpCwpPk-k(bjMh73*{l9+vNn^kkZ4Y{Zbop< zjznvBd5ii@q7}9DMe=h4>kINSb#X&$>o{D0y~$#2)9hZmp|mlb?4t5CUPv$7`}G>C z&-q#8Ym0S7%Mn>Mxb$ybnN+eVPpZv}-(-^PR&U&X6O45Vc}}seNgPqR$kd3v4zyY~ z)!FHce9lC2lz$lu6sO|Ab}tVn(oUQhESa&5@2iO}XNt3)Jcn!tn?7y;|HP4z=*(gc6TYL-lCbzY- z{vn@N3))-J?42aj(ydRUovKT>z9?6br#e{M;ZWio_}BQ|l6HyGV&^CyCl`2!eAfXi zcav5ft%Go`u&bkWy8Me;-O*YZkJe{W243$|0~shDd9->@H!HR=-J&kev@S!5s7-rV zTgJgi*>MV7CqfxgyP;&9%wtG~6Qe26URZyhTK$QS)ly8Bey0P8G+ zJY9Wauyvg*8%e8dYctExPUScNDnPR+4JFyx)(lxD4`y3m!in6r92m`yq&mksTmFXh z&b5w*C*Y}EYis#)@_Mdyw0uVWH`ls9PJW#PhFRChYt(7^_?q-o4`Zi64U7wOdKjLQ zIBm~Ta(K8k-EzEB`C-A%bBz2w-0GGO;UYGODc?(KM_N0}Gs)j0tvw)S<|u1&yxc<_ zI@c9QGXpmufm8P1xr-!V0-;V#}uCdnP zvW09L3tKm-$~fpkzN+>aZ!L_O$i}Ddh-l6Q0Iy zod)PE(*MOMfIVFlzs!2XZZQ0g&V+q6{jL38mXvbjtjfR6Xrg_cVM#fXQ^mj5G|;}9 z+NB(sRmCXPE%MBrlX{xoH>SQl$(m@eRu~OErsv3H8#B0NYV8zjn>d8ZUYTmW9hYE@ zng(05lc7b{&l?(WVz!?pLkDq}wFMfU5qDY9wO&!DO}9QGTU*%^lB86TDAf-d&-3>4iV(tf73T*l7mnbu+Q+v=Y)p+f702wLBgyYB(5 zuPRYH?i36HK~Ago9_!6AQ5)TBEonhp8=tjrg1lEfy2Luxh?>x9IZAe~I%c`GmqngJ z7QbxmCQnx1e%ac~ASbFnuS1Ez?34{?o34=#8>~y){8Tcbjr`uKw4~8;(O+%l9>y1( z)Ud{QiHqhw@B=x$!P>dy0nCpssvq0?w?q)!A-sKgfxflDTh2i>F+gF`i$3!e}^@x-7gp`{W|W<lA9&^MkTLKO*uI3aLT!qT0}VDoBAnDUyU(%O)J5Ye${29+A;Zb z)5A@VjXT!#jNOneT`s<*l5E;$O`3X8%i6+ST!7qfA;52xpsy#*T4Ra6QMS36DF;)I zg&5&&=Ke@y^T-}rf|%n@%{-_Y%~BRE4I|!53Ia{e zWufr*&!FFEz6>TWE!`5Zp5OFf%Haaa{!G)_rl(WRurx@Qg}iGFF}PU-mJ893A>gCn z@VH|WYk6)-V7oP0Zb!~+x2E6vGcssoWydnuNTP2{uiYauh_9-NrR#tUb`}|=Uv(L* z?n*}Ou%>17(K0w^J2w&EVzA*RLZ}{5e8NPkS8x+q2CB>d4-=^*r$80M)8FtfPX3KF z--XusXR>OS^;Y?N^209tC=q41b&i~`dUjheuD6g&sx?nWNXom`rs{~dX#=!fo%Rko z!{l%5N-!Bylbtrf5v|d{~(YnHr6ZM4t2G``^?gMrg_EF#7Gtq$^jz`CyCBlyaa zJ0GE6e;ky$bH*gO$BY-Hv&)Vgprcqy%Q1aR*=^o|0g?2sEoGCu1K;OwuA(hvW4r?o z@;A>kb@lt!Z)JDEBF~Y$qWEjZqHi`P?9VHTyB2pSuPEu7F)OJF=2G5~i#!|hisWl? z{M~RX`X}~_VN~d8wD#o1ugCL>Zq!nHM}&R}rv^nq0laq~vc8s({6z4*NM!cVqM&DXrGMq!& zFUZz!tq0_(UqHX`KXT%NwM;&x-geRYQC!l7)D>xxL2BOQi`pYe1KG> z*hZsI|2oB%C%;2FwZy--$b3Y&kG8SN4dkcE zgZxy8ZVE;!H%~369*@s??Nx_eVU|Z+6obLJ1^5l23S4 z@dtLJGht!Q%*On4@F+QzWn0(1w{~4Ti=(KclDK+l-;#g5ig{OBPu*`l)K~l1UXkUC zB)6X}&Hint(jMb;H=8%WPk`eHOovqS&9*_Z{IQzf-}bp| z*@fQ@;Ws+{-=Ov!Xq#e0`o#@4RGJ#>vX>JcRuN8_2mF+j;pM z3FJZnpOPE$Y(3E}3 z1GaxH8f$w&HmWJ(YzDdGZ?=ha#;`Ca$3V8xOb4!d^VV6fqShbv+6_%4{?-4hnm^ul zYh0TX7#|sF?|?RnrFR}5EHz2l-jp8xSX;ONNf^*WFu{V0kkSc&~q?hdTj zOVFU$V{D1Np>QB}M44DaETF^~HR{U_Dow;1#jYq(Y!U1wmhW?4ufy`r=lA>L9LK@ZUvwSa0!yUCn#0R-RyHYL){GJO? z!PL%s$?|I{mwkfwX4w|^O?Vba`5c=9OmSn#?yIem?~?0iu9d0+4PKK0W9KlyXiKYm zsCRiKKmL;-1{vdgH3t4y{Yk7 zjC>CoGL|#g9q4V!kL^r*kl*iMmukSMI2V=w1w-8VJ^|uHp=Cd2iyx{kEi=Sfs9dY_ zbvf1fv3ii;UY(zxTb*APA+{dJkr^B#r4zW0N@vmUM-Dy<3u^fj7l64p_$O|y@^$(| zD8c8{aw1m`Zo^R%F}~QbPUN~O?;;Es6A>HNN!$@^RbNly{xE~DWAjwNY$l6o+!33j za<|J?i>Ib>?Ul-85@uiyPo}aNT##}mS&Afnr_BZx&bA(dnz2PGZa~?ss!# zZL*!q{i*bz!*kJAE%DJ@C^k()OvYp3(}k8E+EZ|(Ey(|K@*72_v9~exG{v(4E2~X4 z6FHqj0n3!Lay2v}k^2oBDJLVRgO8`b5xU`l_}0iRV!ncT^SB%{<#LK#z~w8G#TpB- zdML+>GZtaeGXK|N?k^=gvD=q&tCjeSYo}$LuhJK1Puu{IRkDohW?|Q+{wW$K$xEqN zo4Bh=yCO_MDJOOx)mRBZEKXAu7m3j;Id5|tTNCgcampHQjQY|f95Sd&p&+9gZ?Bt(w8~h(2xmPJK z6EbpHe2~eFG_!G#YsR0Zm@QnbZjP1Or-Aumm`=?99f1%p9>iJgQG`Qa;R<)UAZjwR zvX#2CB69|~{K$0eh8a7P>L+CzRXX{`@SBs`>!xH@)UE2mZ`kgHP;B?+Ma5f-9K_*w+#Myw9D!hoZ z0V!owEROht%d${jB5oI#qC7*Zc0nLZ=*lj1uQ+`-w*>B;rMvOxFzwmRr8@6cM%dgJ zho5L;zOfJ|9MTx=qQ!f-njY~xRT0X6SXn}r)sHKWndiAEWC))f48leE2W9Tz>UwYW zGqM*nS?FW+HM-e}^$TR!+-$1agL$}xY(*Fsn@B4{J~q%`kz0hNwo2ss*x^D(?4i72 z@71F2d$~4pMv||Tv1Ttf^D7Adebo@yPO>Uv_Hnbng2*_)`H<^=&R5PY&`4m~JkFg4 z?&snhOzlbMMz!eF{!jR1z}$nJ3xyuwhW#(nw*QOIjZ_D@A^*kaLCX$uny;XNbOHZG zM^!qrm6!u(Hrn9^>O)+EuYk86;zpV>0wmgf4s*NZ3=^Bm4s-vZ#+~#z+|aMUBu$XnQd=MUZ}aYycQBpp)z|}ED1d2FPSFKis)@`YQvRa?Za18Q>kGMwU*-E1VF}5l z2}PJ&-RS2cE;LlaT@WdY+1%ywERmxT!}IOh;Q~8DC8upBr&S&4Wf2!H%TiKD2X+Sx zzS4f2o33VftbN$4h0Sn6+FU9qI?hd%3&OrG=vmB#%LU`UE?8I0g~|o&2GTE3l@)&) zpB57C8Yi$o$i(+B&5_s>TpyE|_cmqao#4jGS^B=FENuzQqj;KC!nHLqwm%h=R5LcI zwS+z9Bo@vwlyUNtMB^TKbT#%AY=-Y>=_#(M9%3=(AjVQ~xAt zR60UuoaoG1*n=`Ff`~iEh0A|%kwKSpTmw@l>rv9DKS`l<_#D^BBpMARn%lvT;QGh~xnCEozrYzx zTr!v#`tkzTOU_CfX3FYY3I$(A(@L>+U7;JL+#=_5DShgk<@Hx!lt)dMJFh)M@fW#4 zb|bJmm$(ssoE}|7Cksiq#Id4d-^6e;F3uw^Vu= zM(HnZ`VeciFoYU##2x$V?OTcw;^wnp4@1*@#G4Sl$Z?c6Bpdkyx=RC<05 z)*USC>sX`a(WvWKf)~)<>p&kw7B{eXYAE6cm*(6bl4p@-^lygaYcuj;RK@obAKk!C zyH^A&o1=q^UCLLq$A2^2LCXB;QjQP2i3$t0C#kNhXq!-&*Mw2o*rw%~ghGECwW_D3 z#_YMJ2}c`RUWTnwm^kGYH(rSa^TBOwO2^8j+E9uuhj~7ZW|U)>IgwVCbI)dnYSvd+ zhg;d>6{N!6nynRqaysZ6%{HWiSbmUFlTlGyPG@-lzIOOzmR~VRvk~bEXeBGF`+m}_{U1pglSoSY8&9`JtQ7g_#rLIYkqwQ`NZg&@h585q(gRx5G;mrsV$ z$Vx@SxJp`ZhYMCNp*?r7O`S)t?_eL^i-PZRL3W*BDgiCFK9ectF4ti8q#5~QkOJ|z z$?s+y7b_f5l)S3tN%5kT`f0{V5nVItTbqJ%M0RgR$91n#s#_5 z>TS!*VvqyF5;nt>vYOr!ccrpCgZm7m6k1Jf6=J)sUTb{FzJeRz;H~j{VJm{?XsDPb zRdAYKA2q?qk||SY>LV?(mMUyCJ}>M|Z3!BGq$e}XLHjjwPuxoX7EJ=hGO_`O-OaRVi%gMA$N0l7og)r3=&AL4|JxqVIZ0} zr7QNJc~g4$5a6uNPXkVDI2rz|{=mtJF1GgVG=3@sDkj_0;(MH7_GrKea+eBKfDyz# zQdf0o*GWznMxk9Nnc2hlpj}gb@=&yEN@op1zf3S$g`mMn?&EL|;5VhM&I7-biLCT&MZ>u^hFc{r9nysOZLha4;LxxXajsE`u6V+E5N^ zOzGq@Aapm0f)NOjW@2Wr1vRGpiWpF1N*nfp8V?yh2n<5ng>kL$Ebt@EI5PYk@Oy~K z!=wTqG=M+S(D|YP4{4Wl#F>01TK;^&fIBZpVSdPexMc03?3mMFwo>Km#9QDE|iG{&M}oJ1F)y z(ZQh&f0GEMfNoPh6iG1BQXj0M(6+xUia|!uZOTvfLz96rOi(@G4>a|`8TbR`z7+-n zKk~`{5%-^0n7|YksRR1y7qWRSGF?PAZwCgbzgazr9@b}E6!Ij)_ zx3rjCjfDj?d}YSC{)>jIlU)?SiE5kUX>_|1iYJkrsyKt&DjPj+FR^gbRdP$Gl-G)Q zBe$(zLqAo)3`(NCRWO-0(#tA1ZnMQMPvA-N-W_v94$k(R=m zlh-Qo^w;N-<$uO8|mw+u~?yqIkLgxOI%vJPnfXb ze}OH%8C`jS6>%ChehI%vS9uA?2PUHE@lN@#O#P@NJDijG>%B~58 zE{fC&xhqK-^!ycwA55KIb2H%yDSizm4Wp1ZSeTd(9d3ZZwD}D{9;UyA_j9^f^cLQ7 zUem2!QME+Na{GMAbhQCo558pRz&c$Ty@ z%%Q*ELqr#m^#?drai{4AxNTx6_XF1qo9VY7p#J}&mLFl*-JlU4F^o59@kdzm#dP!| zx|X)$8@`XtG_g060{yBLKl7f-sug?qO*j~cQSv>M*|c5BFTi!uEzS7$N*^)ajGu1C z_7N7mZxf$6I$yYZE61e{4z~n3mYKW}Iru+F{%^@Kh{|z0qOp2O5W{LvcNIU~t{tx; z1sg-0LSItxb+A1*v*fcr=PRz$E=#_S!|lp(PsWEkW35yfaXqgkpR8HZ`e=fo!lQL= zLgYmc^TYpIhh-`@Eb^U{&Z8%7rVG^nObqGBCwwB>yv00p*ukoU^qM7Mla zDL5H3=hyq9oBpm54nL_o@kI7^{CJ4*EITx?@N)x}E9i_J-##FjHE^3*f6BI|26ByQ zs%(XuK2l-gNg{n?&wsB>r;YY#a0WiC@u|UrpIL(sjEJMDdItVwOr;0*{BbxFb~*3{ zhwPy_FtnuE5${dbHTXmDOcd1Mk0DxSz9U}`hc$a0`7Jhg(vl;V;{bL#jpFzQkn}Yi z-waN`QVt#chhB4hoLh#2-Uzi(S(S6oFDaFM+FqV@cj+gd4~6Bqk>{Vdd5M#m$HcJ1 zO>c{SG*-xT#d?a{1pa^-PDDmI^BuvwJ1^X$uCQr&dI*NzO ziB00A9oKd_xKM`L$dFjqihK?Lli*KQ6%>q#@OIaw2=dCYs z#|O$(6zrptTD-S&bJZ=sWWSy}qnGt$y*e@!(zr9-gHM3kO7!5foWG!JX%AD~{iOBe z`?z=qCwkt&txwT&x&$XS_{TI`*V8sn48th8;mLPX4y7A*I#H##s0h<{NZo? zg-+xbz|Z_lYm)^gT61V;0EBWK{T;xcK)lrUKz=sP#>0XjqROK*sy4sdagR93sU@#Z zg@9tHiR#xu;dB~Nhwlvc;GQ~sA4A{lWYrOKgQ|I)r$NcUyJN!YSIU(t%R;YRIGm7` zS0kk`VT+X_Zn=%wm*W@K&%}WP)H9gx2cPe@VBQVWrzjYbf-Oiey40P*>hd#PHbKP7 zP9I}CmIR4k;ty8Q5fEe`t1vdRN15#w5^9UpmTr>t)Z4yg3M?>40mQFI9J ztXxgQLU@hU8CE@aHay?Z#`S3%d*o6{2s${KEbH+t&~CeWkjS;PsvgFC1Kp^{x50Al zRiB@#>@NOXpLbB=qUX#|zI_|3QsWq7rB5z@NIw{HzhkP^hGm+IQF$vlI3=#cs;oLU zUNuL@-#YgRD%XN)hw(=on@!9ShdZ^@%yTeHOG-XOufrg5In<#69!F>mdsNWl2K)+0 zLt;aWSs_I?;zxcdQL*h!{M=8c8bLSjq56$^H_u(!i{b>8)31iOmCr50u~}8CbnRpf zqWBX>guKQr)ihvdKJK2YbJJsIDJed@XORI6b=pDoN*s%SXLFowe?R^I*Y}Ou*x7{5 z=Qq0Dm=AJ!jl;E1d*W))+?V9j1jG6pwQIufllI{f%Gi5k*%ZXy5{EVA|5PexitgX= zLzNhY_-6d3&yqVd72C|2n9JZOQ+O)6K)J z_!K-MTk}zHt1WBIYxp})av(kk^`Trg`mr%o&>ACrl)T#T4P1_=h_X;+m?9Ifh|Y4H~N* zWThGoIyldqMTWTdSqfXG7o;`wB0X;l)m=(H?J%>>(zJH`?9a^Hw9UlKGO}+EVgH*V z+w-9=pY&r}9y%VuuM)#A(c<>}%r84%)mkpH{EK`d_-+n=sdQKeR0?fnE^ZFXeQa5i zX2n@q(y9oMaGnYx_&J~3e({T3S$~uI>!2G$>A8+S^dJMh1K z-A|tprq(Wzz9R&&HDz|>`+eDH^aK;cWpe7or`WZ##d)rzKxT@YJMqJn(4Slv{<|;h zjGJbvbA=MS@U4`)#iLyyk@(J5r)V(z0L_c$fBVdop+*_J;0o!x@wzWDX@4>mU8am~ z{0^9v-Md5MpP+f&`SzbNOiVF>U8Nh{VGKA^a1TDE8W9FG`OZQUN!O^T2R}8aOxi4% zsdQtvx7okwj&W$UZf3wLG67%5XYTotp`TW}p{q>oT>rH6Z};A=%;*O{Bi?J0_@a2d zrx)+|X|-ecUaT?UyFvcF`8r?HmA}@6@dgd<4PjkM2Yd4YpL?d;YN}dB&wKMCrt{W5 zy!YqwCR+SgX#GU*Hnx~b?h2(qDSj0JHIEga0(brX60ueu`}%}-c0 zO)j$ZI93Rl+ zFvEw1F{4eqyUJ#9jxYchIpQ{>J*x)hxISx$9ql0mLS{)-aSYg1S zw4{oU=AG>o2~i%3v!~)#-~F-{UU{1f)kt1ta+H znjB%AzJA!jP~P^{^Dj7>h%Ogw*}2G2UL5}BbAI6*@GOV=k3?HfY1c?T8JmZeqxePq z>h(rjoEIz1WGV4kO;<)iI`7fjQG8e4J4Wkg#JwY?c@*nK{l5n{U(np|K@!p4?|EOB z`D)weX3W8xrm`_Zq_He+DOB}66kP&!8qHr-28p$QV5?|HT090@%>HzH3{0EeRGD#=J7^bSyvMIxt>iD2j7c39_$4t;#c)NGXi- zRB>q*HWGg`L8N~(xgKB=KT>@xxD*NlgKO<7mn-&? z#Z*{sRn&VbKhbf|T0`8atZG6m=*m=#DjY4-_}?HV2dD8(YOPGOgU{b4FN(j4*-i^mSzzT~SMwn<4^U9V})9L&mME(6d9g8gt;^`PnEApSg--qw0#!SAh z^G|B)yePR^I|N}cY`C_n%S^tJdYqgs^++mEz$G#hR86AdnLLXmYd#C|!_ned(2hKn z&cgmyO%}8HO{x^k;a9Y6HeZh=EnidFY>3=%q>tyvd;XRXlz9DG`?K3+1sLgw&&Bs8yS-W(H}H?)5a_S#Ft#JT)+rJd5DOg6=m-q7eoOwWI54SOi4 zB$4-yv(V*CiAl3kXluuej)}WiQSE848kCa|XknfD7&}tyG^;ASob>8r+`B?E8JVT+ zrkuE6YAVfx5?Luis!{sB&{R9geoIc%WRnHxNL`Fj6&#H)@}ACWw;W)!gJym8sV!$( zWrR29Z_+05&Zlvi^^eb4 z%yye|44wv5&8yD+Zc#!|itX-);mJH(5q^<(qy+_^$`{~J&30eq*X8;m>YmI;*{z={ z$_0k?l$nf%UFq*+Xn+FIYaXsKwHNV?&_v84K2ABBau@NJVY{zd%!h~ePY8&r5f?8{ zPDE&hOUTDbQrnM}G32Q#l5(_t)0gn!o*nm)d9szF@1=x-yjoif4GeMjFDgVtpuzv& zk$Nt{CZG$gTY{P4MIV-6``Vs5Ek%#p(zvByPAhTSQW#~>mJd=vRv>vTLnjeewTxfk z;toaO&ZY^D6OA@za=Y^*hoo~x7$Z`rGJd1tm3%KYGYUM&e-*EB z?3tYyAni#c-ReobSD_R2Y2zx4o(Gk#;yb#f$8=)hi<(+*6iUM!y;5(Q>5FO{srqUS?Be}Pu=qxfII z*Uq%-7syvDdi@Io%b)6JU}b1eT{5uvE~HTzAZZb;$>0NKFRHBau5f-IZbbZ`^>Z_2 zqQxak+cU6j8V<#%{fxrJ4Axx&m7-U@gzm!Q17+)MRX#$aKijNAtdMsQ^X z%2i8IehcM~q)Rix2Wz7plL^BKTR06dTZ{DGhvU@dDP73J4aeoroMjB-ZeO1&rS z1njSuq5LY!@8Z=BsS_J*93tPls0=B38~r9mLRw|j$4lj&s=wv(Jd~#zR1%3>bPQlQ z07?OHTLw5U(I^A_j`Dm~ejepza{1pT5>i0I4wM^Lki~ioYdQt42b+oX?C~=VTMxNk zN%Psim6XjMtEiYgR?`FaSVOiOq(?A&tfdYcfMp$xmLH4R;}_b_$};GT{HS7&Uy0j@ z$9f9e$ZLGpgSy|#omKly-EZ@`d+!D7?2%1xS>|u#ktsb|XQFdkX)t^IPDw0t8*OHfKd6{Jw$mf_ z*g-Y2@YqRVcxe8_Db0uSnyUFSt87XWl?`^X{&W+zleYf(R>&`UasO-vA*?gng!oL}GbTn(WY=(_wY)FC1 zQjTIeo!QE3>Q4DwA>;f?T8V{n07 zLtBrg975klQ{EvE96+xRVIdwutq)^&S(`Es^Px69NGq+6{prSGxG6Q{m4kx{r$xGI zBxP!vkOK>g^|Kyr%;9}i9ZOgKvzwOA<(=q84(};ZT`xTsYrPq{=iEKcRq|zYHKL&K3A8-?y zRlK#P)^kNn`}M~D#wS)WxS@tooV$~9^RT46B(Hq1?iqE+ht(HJwF|JoMA5ufZqr6V|yX?F)Qd)Az!aYQFd}8C}*|pW%apFT+2vcX?(=tel-i?Q_Kq+ zy9XD*c5{EFNGObOPc4**@R=7}&`_7ADw!ewFH5E_MUb&0^ivV9vyx;pem3P6@hu#t zr!bz%S<}e+I3Fr8E|gjx=Lb1%^Mw}#b3z&o?eDbpIAnApojT4(d1jgiEo}Oy)g8nO z->9BPgH4!5P~&1g%3(;F>i7)PTo^+0i(yW$q^e@Rt+FpQJi&+B^+GI{)V8)KjXuH0 zNxTW7^CvJsE$PDv-UU;vW(g!Jf%GMOp9XD|hF`HDtY`ZLsiLAmLZO@D(CQ8GZxnJ) zMu=N}wI=ZKp;ILojs_HR65guzwC5z>ug-9p!KWB=B_tVsEDh$)V+2>{Y8%owr@$hA z<0lp=G!%b||K8U|}oqL0>o#ox4?kf#P zz=X_CsN%1tvQd&bdE;7iTf?Ojb>wfAN_n}DRY&@EGwM9rr&U;)dEh1!Nj+sy>vQ~6 zn}aTmo+0Ym+>>(8@h+hU^F@&@@y7gvmva&fS+!FO<^QTf2$+^ijECUdmthW(V zR2cZzkQqrWuVIFcrQX+gZ|`n4FvOs_!yHAG?oEzTcVA|&)Oc<`T7C`N$<}o38h_pS z2lm zT@%IUP%TNRcvHy@oF&wx_?vuyDhI1ZBg(#swfZuhx(OTiEqRrp{YNyc4BGM^$}HpS zIJQgCm)E@bQcRbQsvpvgGT!LhFm8p789RMV$V&ENFV4E@Qx~i_mT96>5k`r(Fx%?U zu3OkvJtyuqc<`KpZ-YNKX~=DUweo6uIbYXv{{WCN|C9rkG=&8i@qzp)E~#h|OOY zz8c`rB12oz24Jt=hBhax5_@U;GaUZ%^Ndl zZ;sKgXiTwBcwe_(YO7afHZp0P_gzmD)dh`d)e|%tMMs~&^B71TPccE8(!8hq0-Ib@ z;Kph4c*eWUZf@#2=Y66ddHp_9138bb1x6xpt z->1GWv7R@fSuZgbrS#|}zniHAePhae1rGHi;WboVJnemrh4eeR{hDu}`Xw!C*b8!f z17%}P5pRIamVSDJatB)XhEH$~;`J(B{rQ+;T07`XXz*Jo`Cv+a3q24* zXWrr@>Kb+U7Z%%f+W9Y^P`8v<&85mR$0yvs^nJ{0^OBRq~0-@{2=gWkQzVT2=f|A58&3T^*@-d?5B4`4`l z8uAfVYgbzK5q3lZo&U(UX<%?WQoh3Gow?ynlTC&=w^xdH(O9*TB+Zx93!4qMrYB#$ zi@yGsoL7*tB0`wVIA+;?MXnH_T(sh@kN}pCQVPc$0^)2{f@x+9t6imqD-QDiH=}%!QcQBK4 zV%^HER1Zv*r>(^*8)CDz@N1Zin&fUSgu*%5!CYuy$A4;U1|^vbzD;WIKza^HTbP>h zad0?dLOHY7p}Bolo_=a@(<5rgXfQP!Z%fzA1y2nBTXP`|F2}_df{XWuI4{+ZhK7Xn z`N}KFWAM`KV03-8Bu(kH+AR4QpAFr%P<*deXl>sSy^aq z2!df8q$sz2_1q*43uvL0pn<;JZY8*Q{w!l?o>!^3IfpHaeumD6}}2DcnvJ;(#V$Wa=w+2WwXAn0)Z%+(Nj;5G9hHH1Fc+Z?O`DLF!qYM_mLYU~KE-k{!&LJLfs zW$f{aPB}uxt?9X=5QMjeJvgBe%Az^2dOMBgka>-kb3%(yyuY$QT44}XR`nF3>(e|T ztD{0=_Qb4GyFDnu@b^FFh8v)j0kxubw zER)OxKxR>(0ETR#5dw(JruhQM`kl73vOnm&0N(8&GqunL4w-gp;M_@5)Ihe2GSq@+ z{XIYAq*-l$$6DW@dSa%2_0|y+cwa9u6+58k3ORp{8E-)DfvMEMNl=>=987l-+*}Ut z`#-AUKr75iaBflXepi}R#%H`%8TJ^AqFV>$H7a&dWwav5c|T5P;<=G44CQx%(qva` z;W&zS62jpk+Uq2YMc8OXc7;s*O+IcyUCg^qZbE?7eO764#ivRRwAl@# zr$>mJ@Wgrg+<2SgbB?#wt5qxNx;%S|y+Yh7y5TN-kAdw_OZZWh3w{~sXf1)@0O;=_ zjD!i3=Ye@`Nlu>Ng)>d@#NhU#Oi%R5KsCLH&3;jJsi@iWlXDap*IwQ!-)mvzV z&h+*cQgO_8&s$jF_Mv*d`FymwE;)5%z50O``Up>8V9xRtCZdDSeL=K6`TGe!C~Jtz z`~+MJ9Yfg~2vj*e&(fBtx|J;d zv#B%)O5g=W))r>Nmt0g^cmapp;W`3y*4?WkkPH|*o05Ws>F`II)fIx=dUi+}t>|s6 zJoCrd_kH4AUs%i2DYgf-s|$hoho;pPCOf9M-8p5%fv40|Zuj&Mp#g56Y8WE?hN#LL zA>eNl>QE1Ce1@PcVH1vuwDmD7Uel!dLO+*pZN7*~!nJ8<*o2MkPj~AJL!lNrg$i{Y z-}xoKKQ!Q~EGhbrloTpVXU8|NDJAeSgIFU>*r3FId}jkloj}$NF(+N9enT|mMnf73 zLF!tv@Qpol_=1ec(udYH6xu^I-fjqv7l}e6AxG(X6!Y%ePeBxCJ|Kt!Z?Q_9i_NCT zjWOn%sYVkZ-b4{i1YfuH2!CX80I--?5T*j5m4!f()CV^^0PjEIwkCp|Qu&j(zp3z% z-SEBt8zBnbG>c{^-9?R?3A=r_usf$xlsKS}I+U@Q{kKupuKu4zw#|jf(8Y6`GjUi< zt6E?(EEEs6V5)f?eP}5Rz@ctTD~KX4D{O_q<|(i>=S(X^URVmBDqs5ls?6Z@PPDL{P>VOUtkU7NBNm|MNPF7}EmYG% zrUSihhmKAKupKpQkK|bdY$s(okiv9AxaSy${K};t=CNS*4o190 zZ8w*yLG-bdsKY=Grc9l1QCTL=(qo>e@=$pQoihmKa47DH1i(ptp$)`)6!#QbSMjXOe%HKYk0g+G;z#K2BM7K;Ep)fwt) znwZ-~z^nhm$R`>SHIibY!IbYQI~o#MhaN>k+QyPoH|WhvG^Lv`wpKpaJ?_)Q+P>~4 z#2KstyT_1OcTB_yr0*_-s;?kCuWD=w%s?!W(!ts!1XW>CzCxMZLF6ea>yAkfLa)1H zO7JwUhfvQY4~t4ze1MW?m4cH4i@P%>YH3#wX!Anq)DwJ-pfx?w%y=s6DQxQ6iI+EO z+r2WIWUT3kHyKb9b^6~C&9jniR_Nm#aabwk6^yQi9k}63(NpPO{A;Q;gUqeqUI)aEs#VQw zD1$8s88ZjHkRwW>5Te6!;%87EK%q{}2B4!8DR2P9u@xl^5C$PK{N4bpLJP=!AQs3t z>OT+*_7W-{2-%!W_TQlkz3^>!{7a(|-+{7pTK*j*B#Qq24yv;~^^Qf^DEc`TEyPl3 zES5{6l0jIJ{i*q2OoMOe_F$nEUz0g9)*B=7$tFgW)|tZM(Cu#2DNYEt>%rq(6Gll! zYg~h{OK_*nanK)jbS@5DQ_(j=zy&4E7=r${q`gCgX5KLjdfgvuBFzhv1*jDMm1L$G z4Gu5|3kDK56m&JE?n8wiy?a$-_gY`6@ZQARhFhF!(>b3>0_Id8{XGFB+hUm6C+(htv zFd8;f;|UPBEfhOJc%>A?zCQwi;|V34vSlGMV=ObojXyDyp&f0XDEtAJZ|o#U<*#&Z z5;jg7$aS)`^XW8M=;M2l1*VBsr`YWre_U$cpzvn{Vi?u0EKI0=qrAzG{jJn^3R?Yx zVyA$Hos>RB=&E80c>+C{0xmb8byG3uTPbfUz$Q}FRG}Z_tiv=x*B)R66F%wfr8O=< zZ$tfTOAbzEzLsq)*lusCu5#&^ztpx7iqA3Tun8qjXRM}k(=Zk-)29nf_=2WIj3W*6 zf{)gR#huiO^wTi`meSnmSTYJId%Ca%)=|$HFp@gZx*1?k0bQGcd5o{Z%mk7C)NUq( z*p-IOM7`RyekQuKoG#6TfN!F=GlgCb!&Ul0qRfGUT@*7*nC$86AglYO^;0vAenu9H z;i;Ert-^t-W(hy2yYsiMq{NY}$<2dq$I-aiAfprQpDodLd$thT#Jzd$6s|IU*82p* z##%Op`z}mQ;zqo34~NXpM*wd54q&LE^pqI*NbG+c`)*>M*LUR39 zR-M{!j zETgJ9SlR>V_FUna>MX|fN4k;#MH)c%iNYPIz^94OKZ~ic5vZTyiXdT$ zT+-N%>ewK9Z4`FkrH$+)2+|cQWseXtOU4)-rEik47-(pIGOFj%_GAb}0o_OznnnGn zf=%PbqUYmJy&D@guD%K1fco>YjqQx`zYQ^C!@@$whAr(Z|1TfZV4IR}SkN@j@{}xU z@mh+V2kjm~)8+wr3~io=xe`Oy=3yB7P+*Es&n8+1)%K>C6roPD9>Iyt?!zN4iE3`g z;6&d$m0Z|(5y~_nEAe``3bFmFO^mIoFcrz%-K61n*i-jEz=FS z`v&*_NUx{MqF;}m&PQk4lIsG9XMJkEKseF0meR0A&+FIXbpaDC?(BsDtAnX}2kCuP zIkyZu3B|xg2u(?0ub{~YUF0YtqYmF_m2%>1iai$!b0!UFx%+_NPL5ouUVjK-|RrtvzhTMO2_q{C|=R9C2M zEjm(4Uh9D7G$pQs6S#=1e-Q>b9NDSGmFo#?YHqkjlYW7XbCC*u0giHd`HN83=B!DR z?55xh>>Y{bW?&6IC0hK7RRQ5&d)Ev9Ivj|Jo>M6=W7x6eZV)PzDYSVb+TKFj8wxJe zCQY!TM;iqf=R{n+r+6-~SLUi4Hs3_9n=k@HsP872@0GM{lWIoDkS7UHJAyK@K+G^Y z3V4TaHYhA`MHOSQPY-&Ug*Hb~$Yvpq?lzrHiN!Uvfl!( zhEd2Cp_W^7(_~-491V%~nEo}`d4R4t#cn~54O;{Udke=;*@#DG*^^mzp88YvHQ`-I!tb>FI9aWfQuE%Um5q#B zw2zHr5R@c!p9U>dj=j<}{&wHFNY zpicYnct)G|Vb~kfy?uhG)iB9wo=Numg^_CSlIWt6O2yL}&>|8Bg%i!&FT~k}L2Jn< zYtYO6m?>^Fc|6Yb781ZjOj>kdJi zJVgAEkmh(NcmXp@WaJsREd4OF5Z;G446fXyT=u}_pNFx0UZ98^EYdn^nkzK20oiam zF>`!EF5EnG@v#s%eGIn79XNOdj+=D)r8XGF&7s z&c{aEt~qXFK|}@OBoWV52sM*Lv4v2!+eeZof_d4n3Yx)@#)3bDU?%W zF-{UfXic#Y>QGlx`;H)&XI-UB#US-LIh_D0{uF^nD@Tq0g_>d@uEjdyKXNML+^jxXM|Uy->|nyvsn7E~A<$J?tV` zln4d~a}>LacUcR8kEm}62*vekC7AX>bf!dT;noKLUSg6|zZ>d%i7y#&W>@k*Da1MG z(7KOUz_NzvX!%L>;{oNJM12F@!^5Gq#^-{+OlqK>Tu%w1v&W#0zuZH;s0l$@LYefZ zrhawWvH;Zr#Z1<$rAp&hoxZyST{GqDT|io(TzA+rkXD_4ANWoAmiK|*lz(>>@CS;4 zRB%eD(`q^@*Jd48CuMfj)XuLR4kFZ+fu}XWNQ3=&1%IC=1Zf6iSx~O2U!AsmL?Nfq zj~A#G91hN-xGAayhl5_AC`L6?J|ar%BfUq;zoGHV57GFjLe!HY6tHRXVADJRD?7$1 zEIY`}7j)M6=ZE;ti?g+e49EE5;)XMt!2FQ#0+t>Y1k52aahB)l%4sa5Ry6PohA9*6 zgqg_3wL19?WxDSENjp)DMeXq!jMf`KHI{J|9H)V2A-2g>dRFM+_5^jBhu>wb6kG=l z&BIHj76((ib3k8PYM#dLPEA~e(k?v9p`G{&9I*;IiyoR` zGPK6EDDA>ARoL|@xO(X}u7SZ_G|2ZyeqlAdp$PeFsQzDqi`yDaFp6t`S)BC?inq`} z6e9p=(qBT|&aIKt2@Pw}a6~xnlo8Q5b~pdvCZaGjtVP2S5I^?Dh#mE$bZZH#KTu%3u)$IccN!+(<1ghtVUM#y~@li zYRj{idkf~%^6OCSxJdfCbo6C^L)gcEi>sj#>Vk#DN9t&QD!m~LQ1`?h&z3n0JM1>|_*|O1;=VqVV7?^uyo;ulh z4IY!bxTyV_N;k9rpM9{LNUbUMo$J}I-_Cx^`kQ_Gv}3CrIahnU(d&NZpK-AI5*|za ztxq^E_A{5ETjuTxFjdUWPcWQ^BQsCIDzCSayV>ZTm6D;@VE_@=Wdw3npB-ZQ9f3Cs z|5Y5$7=m-?I} zpUcaP0iq09mM#|Z68_{1t@9>C-ZoU@RwwHo1|AK}EuM#Ac+F~K^Cz=rF2CE9N_+Z6 zjqD^=rvu=Vp2@AH3?W6`4W1WMAQ7(sNhG2QoCwng z9cmb}<&X>=zwm45G4qO9r}0_$&owgeX|wx~54^8?AAZ`+^zOb;OEc}7_Uo$PwCc-h zWy8eg53uvW-BD{E3Z9J?^*hdp2F>67Z$(S5FDq(0u|WhCe)Q;}&_L7wYw#N&u)yZa z3h{cSE`oQvWAObE_%XgA>Qs|tdqogJa)L&L93#Z_JFpC_W=s6XHXVM3dF?%^vC@~_g_yJ&)Ok$t(Z=lIOxok_Tw zH;G+ZQ)RKfBBz2h)ss_H3NxaWj9) zzB@NJzTf!FbJ>aEU{JIxTR!sZ(6tvZ3LBICODqJ4bbARqdk+nKDRlI$JL}A}QbPtFGWa6Rg0_LZ%r;+NRG1k;C?LcIZ7zU~9-KWc5o@Z-wX&$YBGrkZAtHuJwV zq=7<9`p#e0Q7of*uLMuSuVPB|l9XnQs=Gc}og7sc4RnJplqcF^9Ds0byBN_m#bgt6 z3vjnQ7o3P4h$P_Jx%B821a2F-zZSgP7FGIO`peHKUogbJB&!?bVqO=bo^VXAADb@A zGgO?^n!Yb<8(*E4)zVy=_8R;BZGCegk8VaooYe~piN6X)1o*q{wct5>Np@0ZvZSCS z97zLBII7ryl}#U-W5TvDJ1NC*%k)pNuv)FKUMBTmbs)P^9jI5i{j|1x;8Afog0}K- zbsPrWvOpGtvK{sO`ICOe7s2m+aD$ql_T1YcmpIm-VrckE1V0;6?B|@2<)J1^YPikP)~qp>>H_ky)|XsY>l&WBR{>b3GsSsa_o>jr6@w)G!aQs8LOUa8Edrq=4KZvUoPz4&;1Np@n~+90;>qIM3MFhZMRVexF{=qnk_XNL{*J;Gjjcs)T(&QvQ1U=$VMH?KQOPCXO_JX z^vGSjPa(GI9=eh8-`s4(f;Ivx7AL8*9WlsA`0}ptDw4*IbXt zDMNYRBjFcWo?&a><8of1lWV@53bO8NN+o}EJsw`c;F34Eo;1Nd?0YtRxRkfv^@6EJ zSzlAiVC{NY&KrJJ-}iEOkOcU#?@2i|yrJva@Iq@KthnWRT?Wj$+xNOmO!AZ|CIYR> zzBws3ob?+m6x3JYz8s-e$6>!(qE-hv*szbEP}LJm5UuqdCpErYhv?LrYF|XBHms>0 zir~thYpSn0pEKWRrwC3?wL88W!B-M|{8@3Hi~6H7s9j53k6QySn2N+1`PH8t3{KpZ zsM7tavn-Wa>a&Hmxv7^RMzXcL+S75v%wA8U@I`5f-9ESh&s{wS+mlD`>aNbqi;d9k zRkQB|ob6zgA#&3wx|X_|1_Nup* zb%sfl&ur@Aq4q?m+h`AUAGnfzhC4aYB@gw6@bNpN;5L+?wBt6h&xJ_o_^}B=c{R*8 zB{~|T4t_V6)HW|Z^7mKbRau5F;|JR5sjh1`s-ezQb(DC|Q=OoM)jQf-9cT9%R{>*` zp&HN96>oJtm-ca1s=(~TG?ms3@!)6VT0ZT_%SY{^)KXI)bs<6oKKQ7;5kBMPtM+wl z8jNpHv2L>=iETt(eAQiX9<<+|8QkGq2Yl*M?tmYZhD@L@P4H87OAb|V%f{1QVkp~SZLJ0TG<3Ab~~9+L}NVEZj`T4 zH%08%I}Nnidm7=7x$=>I_E*<&c_$xQ`Q@pO+`=KZ3CByiT7c`vTLhnLVeb*1J&^-^{=B|soX-( z>!|DD6x%OYO?ZKMe=tUHHC+l;|B4;!w7P0`(P~CrbvN}en22F97kqDtlWf~b@1!7D zE=1iPzR1WBbvNZSS``BAJcEvgsM#f>{`K&0EOn}pizgo$=r-sbR~MtS&XBU z?=yh**H>p@uRS7kgBooR0<)*?M!3x#gdlUEqlur4$zOua(+O?m@$KLnum zZ=mj_tRrr3fbno}9gu_f^<)}c@KskeE}MKr=bNZQJUwo9n+HUA$hgWbnFr*V(mt19QbkCIILFx9thq?;;p$)1 zY>Q@%_k)vhAEMzWYiR9RR1&TpkAt(;-$4BwruE;bait3To)V;8;%>%n3T&pXtNBxQ z0r>S_*8gcVZ1A4G%$U#@8*7^=jNd^&{XfF~JTRv7dmP8_Ofs1ygv7lgLc&c(LdGsg z?KdPwLea%mw3jKWFN(IRTI7;UB6dxARJFZT>l9VWv|4hh7-A_}6s=xDX{$}By_WBJ zwoLkZeSYuXA7t)x&U4Or&U2pgoM-O{rUDnFbOKF$f(CRF6QXb@gUSj9!APhy7roU< zYzEe|wiD=Y7CH-f;yb?l$$K!JL>pzOE=4Uni>WX>GNdz@)oe7gvzRCrxr!V|R>4b8 z98F$;wsr>7ndd*-8T1cpQIGKZ*#Un+SFwQwvaRYS{^97K{AXTre#7*vT5vOSXhXb* zF8O1$synorKHkj6`!))&5w#|M01O$#mU7U=?&1jW0*WHKW4lAA7#*FN@h3dIR~yW5 z3vpnb(1(iH74{eZq(C_)py&+n6zx^C5xuIaNBOT%+o1mA3H$vjvRuFx+5UMk1{ z37erg8DLBwqt-p3(be(8MA0_gnkI`7*{9NqnA*gIf_sV!^8q_V(T&`@|d%XKbfZOuBx-osI_GnJH1JzE^sC9EHu zujs%iD`!w;FR_^jJ5eU@;sVR3rfuH=3+>~=;!%!UOpE!r!fdoNFD1VrUV;+~8h?xy zy2a1IYLwpKBKDwHdyAjNeC{e52{NBxl;!QHZ8kU_xGNxAY$C386}2xt;q6zjRAZX< z`7dUJ>A{ACXZt{tfs4TUfK#A5`|Nn3!-MJb{jDTD|E^@zqZ~(yw4G)Fmcq z+(F?3#Vl9`>NgNH@bR)i&_f2$>_Om7;cBHpV7F({wLwr+n0Um}U_4aAV&VYDtp6eVAiggR>7+O> zBXfjU0V~oMrj7F6bK- zgy@7!Rh(KQ4e#*5eDoG*)JSoOrK$hsNHNOl>>qZt!YH|(*CbS45Qqd982JhQZE>$E zSpUpyw^$Gg%Ns9>xiucWG=z;`9-_@JihG*<>B^s0+7B3xv{8}eN@w$SHcv=ocm_Eq z1m27kMTaLwM~nYhe(^6G16@PLAx=pvdue#Zq}CIQZCV7hy#X&jz6bGa`si9c%HS;t zh$Q-hXrJR7U30wF>QhVo*RZ$d^DPC209e&`W&@d)ek0mn z@S141Krg@Wb+O2D+h1>r*eDeCgg-G&JZV|wul1JL9-q3*d>fo}kHACAs4`D{vUVuQR~O`)MC5yn`sRxpU}5uizL*YiLQAjsn&UU< zL~Gh=zFhDtu0#!sWx``!UU2O2l1>3w?KyO<0Q{~ONrljz75XO?LVpA+ihJikfB+H2 z9I*Oz$S4v^VcbzL7ZO*ZFXoEh!qobk^FYgU(AIg-^t`C;d~satOz3A+ERH(OHIM(+ z-}G;tFT&=+BLCh6*eMJ~bryj)=#K_05~o3G*&?yj3hjFFI}kg^pz+1vP^0~Gig8Eq z(7*9rPzZR*AD053xoF5T5Z6T7GBM6^KBJejaXZ`mTCgp^h9=?SsXwF5%fv&lJnC z4%J!#S#&gW1vG9rq_P5f!)1Q?eessnF}D19+x;Xsn2`pjoZ#Fk4qwI~*N5VQp3i$0 zZqGqaKZGvD(#^k0 z$DN7OKWLTcwOB6ufBHoHI|LSRkF684E&KiT*Nd~PmJj_aed0VTY#4012^X$1 z9*HJx7GFz!PK?+?j$wKF*}{JHHVsDuu(068AS}7)Z3=IQlkdT(=4ayAn5S?ups{3O z0LuSNEKkj7-gi=8P_<<(to&nqU1{ETdf(OqAT4C~Ql6@G_b=Xpd+qsXbSfJC8`sc;=l0x%qT*}NS>1b7{A2e^lFG<=7cLHhPuaDz65eBSS z2cqpP+ya3Mt9nt(Z=h$IiB^6Co_#iYd6(Eid>LjMYS^0p1$`k>h)yOT-!8D&|DaO< z$LI5R!w_$j|K;5vbAz!JlP3D3zTPn`W%#n;VIyuo3E^mKY!G^1w6{cjJ0`RA^E7We z%P2-oh0C7|Xp!BJZh#l-jD9eHT07Kf4^Vpsy}1X9J{EnrN6gJg!EukXc_`d=50}+N zQfZ9F^yNK>i{SNTBA*j#D~`-+k~jIl>-M}3J8+yy==r_kb~vdceGB5l$;)rW&l^R+ zAsXuqrHg@QX?tYjdD;r~{2fY4i10`66AxPA{wQx`yM`yXpDw`X%S%6ItY8mGDNOJ{ zYuyjFcn%%g554R$G&=y^>=4=;02tgHaR6qLzCni%0P`(q_CfJy@P=xc_z`rXI}XDb z4z{t^I|A{->*$FiVzY=>U+tfK9WMK^pv_0bc>kOuA_{@+B=T`!(FRRA4#KxWE02SV zOGX_|K%<3#;e^;3ZWKFlLfmd`RWSyW7vuEGMH$KZDuA8p+S%h6K-wzR!Crgk$0OR9S@(U9%tdj4}~p6ngPIbea&j zpBF!G@N{`S+r^NS99yw1#{zGCds`b6PaWW&`HT3i)zaAC-Ha3=Ez+I$5(&tX({MNE!3=tuaN>)?fOC4!g^+p*>xIEC6>g=va~a4iC~ zoP}uXRk35j*S>sc?9sTpkL0EMvMO)G-$l4$?ln zoNGht&?4&#{X6~;1J?9mzWE-TEvYT6RUZ;jG*+AZLSB#EsR4k)IR>B6=IeZuK18{h`Di%#AT5d7){NF zDV<}Q0@@I;HiU*~;|=JkYr+x{7;P=I`foAOQNvYuuVhyCy^@&HY)5Pe3Ak#YvwuSv zj9<}$8i7ax{v=pNWzNbz>Bm#zA7{aK(5$3=FvCnJ8~4$>HzCS+fDYe;7~qaS>=uq1 z&ch`FV&}wP@VKH!HlI+Qt$`Pp-~OA6rNNsTw;=}0K*}A6$o8QJcR;#Q)cP)1VO{@< zyP{};plS0xa0_dY>%O?X_6j_Bg5HQ|OMMUhbsy>;!Frr6(gIUuBw1UA;{Sm;h{b5; zKjMOzJm=aC;Va`8Eu$9RM02_#m}v%fb?O*TT0LM3;?KD^z}(JWC8hr|{UR+4bqIICHgNyGk zOm6D)!t`YwxVv;C`T>w?ybH>x1A9>_7sC~_ky4|mJb138oYmWG^h6{uxsGN=O0n)0 z5v6$57#9o{gw{q~h{+n5#MIzQuNzcDugy@T)Tdn5rN{kLoux~w)CsShM@kdmG+#~) z=~mh(vcb{BR-%mz{x;O$ZvlSq@ZuFBY<{{Iy;@UBhQZYGn$n17E1>)Mic5v_B<*9Z zCI_!ZIpx)Ga2@9pa*!M)T^QOqUP&)}LV=m~*X{=BFZYBWPp3D*yP>Xl;h{K*{&t5r zS6zX_7&zU&aQS!XvE*0xyWg{1Nnd`C8B=UKT;^O$%B}$?SO3 zEscFj1xu9D?cu^1*cx{eUTMWR3Y^3uP3i^y*OG;o@aUKPLUDd5lU^RaQUUuFVN)~7 zVU9$nYD&QUG0anD-h50M7#4IlMtT7n*N{3=XP9CBW{9Ic+FVCUfC=ft z_)iG>y$+NQZo?I&!LUtZs|bzIKpiA072YpbB`L4X{mIaKgj$-$pvp>I1^2*B*!JQ3 zlj--}HuyUP=I!YB9lzv|Ho=?d{=IdjR@NHZ@LDZV&{p)Io^%|B$4BF&KN43K+cGU( zd+~hw`|xdrZ#Y09rD+fWpNN;*z`|x|g46;I z@wH8mE?c^zdJUyv4LW+Vl5M!2W=x$Cdym!=@n-TwIF>JYAVj;-P}&9;%B*c9HG)oV zekHGZ7iE8bFkz z)InxzX>e9lah%OEVNedfri}p9nj)lNRB>oT#vG0w>3ROsn*2+R@VGy%%SmbBXnGrI zDhy+8wgCru5!Gu8I{gRrYAZP%_dHK+2zN%WwzM7i6cbCmi)OZ!rjDpA@4MkPCn;3I zB@+AA-41bt3Td`A8LSHb!aG{Z53IX6t7OzbCg7jtIU8@wcj=WUS*bTs}(KmR#2LH9dOJIfJvk^2@st~xai!lg6f2B!Z*SG^_M?k_I z^hG=ANtl?hwwJp0?3;Q4hXcp@;8-eejr{^ThRscT$}>>6(%(unZG*-3XlwkQ^wGF0 zDZLEs@%u_VPN{{WbHXIFti2?*&r0}>(}8}HP?Gz4p0Y7YCJbMq@ocIPzo#XG>pju= z_EKuk?o^Ng@Ek{VL4>TJAV$dlCCDchl+!_KG46>}II>hB4|swTaurcY)UKYsHY-ns z*$`UNE}kJ(C56@M|CUc^@5%>{12g{kog>^&uzYZPcn2vptyR=-Sb?ouQNr$DDcEf1 z8KJ}6J!!jt7u#h}9l==bzDN}|AYF>>|0`FM*~;?_7efa_;rQ@|)XfG#u@1&hKNl=W-fH_5?73-7 zRHel;|5ufIPUHO)DSKV{(3uY~oA~lqd6#vRB64g0mkf^omO-h_WstxB|0jcR{Qr`n z{3w+n$7l&sxQZ$UC@s;Pj#5-sSk?us2yRHa{og|AVM9x?1_wkWAE~Y|xrXOiTNqQ` z0d%&bl$t0^J4qAtQrgO*^y)QeJVuQ>K@4;O^@Ts};iemG9@R0lN1oxjfQ{q-WiTP2 zd$hijl#up!)W1wazaMOz>X-j(95O7GAVZbnk9N7>3QRh74mp06m+<=6cNFMP|MNz&Qg;s(^nMatXxTd7dR$|GU~!F6|$DImQj_@ zL%di8(|$h6`NDl?U8MFgXW-PM4qm4@RcGJ|Jk%sLi(?Fhlm9NYaR&VW;N0VR$-FSe zj}*my6)S)iO8G8WK;x(@e^zEtT;m6r>SRtz_<@oC%{7;)`2?f(8&gjiECSIMd7MHD z0g_9Ck%Jthe@8(9mPrk8h;WoK_?;3lVBLuRQV%mm3?lD?xdp<=C}WI%cNIO&(lj!f z&s!6q*twck#oP=q7Jty}W)*W~KV!il%6`sV-^W-mh`x_Qgl~N?;--{@ueoXHdmaw< zc|D77Mp6yuLZ7wAvOQP{x`BTOD?s%JE5O|0%J*hwZ};2d70=)B#2B{Eex1(;|rC8WUG^o4O#=*=@S&y4J#ZWe(mEEOQ93-p`f`kq5-WPZX9fd2> zGq5~7T#=?FA}qKsKLomU&e41)D7?7@-BzT;j!fm+GFHxO!Lln$gXqcv3U^`!3fAa>Zal#CuE#MGy9?et8ASRpyW4f5j zAlGtff-svg{L@vG!p&t4WBC^{aQiTFd3LpcLfi}@&*TszpAlvdZ90d@d5i;tm~RnC zA`X{kF-8|CBLyC32b-l#--Jtdqz1VRq|Icg71*_6snqE-#a%(a<=3IIXx6tVq>w?3 zw>U(eMj-(PF(+||HkHw@q%^dt6ao#zoWd9}kUoKDQeJ0_7=(WZDv2o&VT4y1;pc`6Ui9USV{vqg+Bn8^b~J1PThUOy-LmqWy<4xOGq6hXx)xKS1YrFe{Fj!D?&w;PJ*w|j!8kF66%z^wx*nUW*d zgK;By6%O-X=>QK?p9Wvy`8C~1sRx)$DxnSW^52w~s&W~P=b0P~Vm!|w@(2nkWDt1- zhiJnvBo~}118KuJ$Q(*D*>6%t=1>k%hA>79q72~>eGp^BApARU(^r(lOiO*1(Y?jg z*LPJex4NepVFuE2IAQrIMwmg&-W;O!r;q@HC~gihpJa?~Q$~6ghbVm+9|p-4pig8- zIgAklsXaJE$j*Z*n(}DHA_#P#!r*eqWnh|CYp(%&xEh(gsLDUou z5n3=l3}Q5INE; z4vYRyK*v_skkFvs&`YsqZ6u!YQ_8Z;#K1iit?EXM`=9(996W)j2^8XH5H*2Aj0O|} zJruz-8gPhQpFyr+2zI|QG$HUOxuAido3S*_&iWL+HqWlqr4Zgj3AH#xml$D|N3F>r zg2*^9h!M#l>I*SJ*QrJXP1+3S)uPn)+qG^mXa3wx!H0u*BA_1T^B&*M0wkC!ps89E zC#;8p(I*!{Xp{{elqp${WTmR=Rq;Tomn21=16 z$oZWR7~cnsz5?UIu!K~laFzCG0o%t7h<=hol%FVs_h`Zo9HO6PjCkjCf64%$mY1{6lvffKQLVL8M(4)Z{ibOZ+_lz{_(bVr@j;4igE_q0Y zU??ZxiHoWpO+E^=>!V&1vo>gM$mt4C2 z8_%#vfrLy~-~wLagxyy^_<{-(xShoE@zJ22bxPVnTs$%;<)cA21DOF{ay}X?WDsRP zhv;lH7+?^6ABPCvQr33XNeSO_h`NVqi1&Vb{JEqyppy$4NePpjA(=aPc5N3U%z7nd zJBOHT{O4v6eH(`;J82%?#|c|GL?`RjnGn(O?r#eR34X@t{-0k{HJh7p3T~?ItFyM2 zzo1{WWM!qYdf$$E^(VtYTFD#8n2-M6jOJGZnRGZvK;{N?qCX4=KSuZaOZ_9b&3uBM z9w7BkMG2)z-nHH(&0P5v(Q^HWgP3L#w}54^jeQFVmWRR)P^rHKq54lrufam@!l$IH z&MiV#2U>Xc!jvu*B9E6#osADc(Ze_RC=`Rw;&6Qqs`WICgId6qv4p-bb88kw((|)Q zV2-D|zn#>@bNNbWg)rdlyfyhPDAbreG8GS_F=L-MZ$o|ySnX>;X&5ljf=G?f!-Fnf z3QbE`k1;EREpPas8MU);o}E5V#G1};(PBPL(x;GYgoHe${Mm>be!HM`UC^1wOP4lYK=ki$LDjT?Ly9`gzNE`b3y>r6ki(hi9Zlea2S^ zi(i>=oF*!*@f6-c^1=vgeqoa}g;yw49miK%@#JTY5w;(Wq~^CRqEM|l(w~t!=e`V^ zg~Md4ZR9|I%fh{d*Gv4TvF|C|7qT|64_L^nv{Z71u0&z0jjRSXz{aBhUHmw;#sMcEs(dt9YA3NC8zjg!sVQTqXkJ` znD!y4+B2xjKC}zf;~IfRcNRgb<)g^*zwdfv^PC9m#{FSg>)LEfXn&q$bWQ zo>O-2ul~tPc3**O6QGen|Mm|>G`pj@gQU)>{{#^W0nz@?6hD}vcG)%~wir#ZOk0qS zvn2=qL4OT`Ws|F@%V4QZE+>*onj_(CwkprIu~@+Vuu95SJ}+h*vc~=(%a=a&^KP(8 zo9KDtj+`Fr?JnA5hk8ceX-Gv2Jn(!3g9%y=GW(dfq40sL$eT%y$B=ZP8O#;t=fc2+ ze9A7Ey`&jZeRI=SU{U8nn1*LuX}ZwF2Ll~0j+{bSxgWxWBPEzjQwkr_ZzG=Duu8&f zaA6FhIyuD1O{AIZj~Mef4&qU@n?YomL$rn@E}_EKb7e!Tuq@Q)&w5-m?HJ)pdT@#DM?&=+&$^Fd`0bf zC&N`5<@28T@#MC2yO1_3v;4-DOEjOGc>)=tYs%WF5u`5E2y^A*VN`ilg9A zp6bBP(=n-;o3*s}``<=edr&f6##4Z>qCAPbubw(uvsi7s`A8{#O<-{2lysbe%xTjX5U=OR^Cr-Fz~p_wUyEoyFf9FZ+K%+ zSrqAJ5cz8kF<2B?D4<-bjITIIHW&kz$@FuGwwp1sP)5oQ4l%!>kV4il^e;F>`I>7` z-Nsw1u+vpE3rvmbCmg}$! zF>Jq$s0vTY1RIpTg6ADd@)3*CRLK#i`R@wn5Ny7I9*u&nEfY{XkJRR0SmUZ;y@F)wM4u+V!j zS9G-yx)U&0T7Y59-Py^f@f^DLqLiF|0Rn!SFc|uA>;TA@If!#r2I0z|!VE0{=0%)l z@6l4L+&&{qiCZRF~XVkhKFVRO!fA!NmeqzV0)K0?yphX{zI8BcOXGMjO>hcXd* za)`zzoZSpUR*NBbZn?YpJ=N$z?khZDTfxY8IO#+Ub$uBvE%WcH+ zG_y9-$M3#;h?WVS>EJAcTDU@ZCCE|!b=fIA|z%bSBExT&eNT}8y-Qhx3_zM`@! z(=}l#xC$|%N&p(l(hTsM31}zIl%(pl(B^ScY;Jha_|zJoZ-d}*_B}GyJ7ZefTN_{= z8FvpfyJ}6F1}QKR^)w@>0Q2YAZ!Ns4%n;m?bsEZ^hoa1wjfX*w!b6F-5IuxvH~v9G zUWQGpIOZf2jN7Q++xU{)=fK{|UY6o=*&rrYhe%_&zF+i%1sIhFbJ6{CJ_AwhTvII<}K9Uc_!gH&18=x*FsatD`=WKl9i-_ zW6OV0NFjrmmpMdZ)4>4-(XMfb`8(s#pZkT2!TOXha--77%q@xaYEZT~_)TGD)30D6 z80uzF?N`)#ywo0ISt7G~7EXk--=>+j=17&21v4)>im62SkxQkY&s)=%rJCn?s`7JQ z@_ep7JS9tLo9FV@9Ac^RPdrrvj)y{XDT;>YVhOT*1{RJY$;==9{xL5(hbcv^VsD(v zTT{fb9xt1Y9t9I)m`h%JPzPxoWk& zRZI>BRjcCpSSocOs9K|hr>gsds@3r{EGms?^Ldu2~h zwaQmKv&ko5IewK0%I=_Q71$TUJ%h2Go2L8?D7vU66HfU$=n1s1`{B@nSAhyUbdngF z`FYUF%`GtFNJ^$`;T52NmQAAfkTtM@R>PG6F6#LRzF5sdj10!~m;csj9lOjf_)N-%d|Xyxd{*Hrw7ESsFIgkpo~TRKoI36Q$OG}Ui6Z|86wwOKY*>gc{u)s9*KPGeXazjo7F=H*ysTjqPIK(1gFD=sos zNz#>6q)mkxGd#X032F-%SHZRjF29-)(P|J2Xns;sGrp1+V#Vg9meLsL>cYpTkW zIuurJwgOI|zvovtacX{~W7~n%Fji`#NrH^OpmU%irL6KE_tV!KP|BN9X>RMaXns%V zEeP0*qdQRTkQ(B%3&s251Xt0v{B{{+_(^c|ST@X~1RYc)dldL=3YTb#JBojUpCb^y z;iQm3jL4(jTnbWSXr=%IsWCj0!3H%D1QQ~fokL_8&~U+3_)Rt^QJk7C;-N2Jf`z!N z{TO?>CJ7S=hKl!q;9t3#5s4cV^hpF@MoeM-AX$|mX}X<5*~S>vD$dUgJ0F^|l$KDrgQT~mH0Mp;l+|l=a?o?gUVGd^&kDPRDyp!J|K+z~ z;SSzcfw_cwFw2DpQ`2Gk{v4)^ncI26PN2KfrOpw|s~A6^E;FRK_J^N3UWSJeRPYlO z=644nS8_f>lgr>ZdlTP0>^gYcQ@=xVXGqWFR<$DGkPF7H94sGXg_3xM2?uD3TVfSh zQq}(UQ%E6$$h$ej*he7&2GPFZ5SdL9=h_{VoVk;OG(Jll&B}u(iAl+LeCu|Qi9M30 zlK>NXTSiCS!RZKWJt)8+#upr-vP}o}x+s?rk+*S>@f9m&UCL7XoI_-?>i`%ri1`_Z zXb@2IR-h7_7W%VM zcgR>D0`UtlJ3{Gw3S%H*A$V(-4;x2?S@BJJ1bF=H4Zw}W83P6)JL-voWFCLl^UclSrFe(2s7INb?{F3h54;&ffab>p zT*Npqh`xwHay5ZP-u5_FCtmKyR2F%=(S?Z=J-{Hw7!FY~$y+y*CFb{YfN4NGom<6p`Ns8C8I}(zAY4BYlH#Ewk8u=5dT0 z!t9B6;?rSc6@C@c-gYNi*>g5))qzJTOlUpB1wMe-zq<}kR268&gs|YoVB9(aKFdBiFmX^2`FS`cgAJ6lVFrx}REP<&l(B48==uIGlL#hH9Rqm=& z7rEw0wbPPu`aQh&D%az_4DSG9$F9V~WgB))nC12izs!Q=zyqfDl^nHJL$4Xx)ON`ZpVWu3i4&v^pE}SF}w%%E#B*umOJkzQ;1rFmHIJft3)ye z3`4L&=S+y`;S87O6*xq&QwVHgAehD@2#m-t)kYz9xJeiS9g-%8GKURYC`f|&4=1Eq z8M=i+l=~cF!cq~p6!We>&>lZh)zrIa+m*2v*#7c#B@??4kCdno54nNMFggm_r*P{O zYQPyyoGBpOsXPqKbeh+0uNxKhUC!hvXVky!_$;ITu2qR({oDZZO&e~ zjr*c0{vhQc@-3L*qXhr<<(JorI8Vt283|-1$W;WM5}3zr$2&6lcFN*dhp@C9=Ya5} zT5~b3pq2CB3^zG`53y(%ZYd|3l9fyF(0Q09SfHhx{O^|X8@e`6N)#_KDc~wsCLLUR zJYQZf;;1soXsLQDRCld~{Xe`; zw6AkX5Jv^u$%^oh2?`T~+(d<)*kX9wG`BpQI%7c@%r-EFU*c+>A<-|zpZ4PG7TDJn z8rqFeTy4KF_Uq7;k3V4c6F_5!CLPt>`VCoONJE# zgK$D#T?xZ3@5@|qtB|@F&ZvJBOcHe0g1_)knxM-7;aXHb+?wV805(t1608j7F;@P{ z@!xk9ovJFC!Ur#ncx}sk(9(!fF&E=HBtsL8k6IW=S%g8@*O_e4!Yf{f5>kl51}y=W zN0`qcIvcv!Ws0fJ^#Lq}E zf=8|eOt}1CxiIu1?7^)+yIl-{dp zw>Ai;a6_UvZ&l$;18q&}h0AEXiQQ%D=d>*auD1Egv*HRF_~)&$CqgMnR{0ft29xVW zn?mNi2t;`m^(~efHJU6Y+k^?@7Wd#^~m3-hfs??4XG+28`ETM0zR zCx~+?5*uB>d@K1jp5mF*A;c%r3`4N&Tnok^$_TEon484aJ1AH-<4LSpj%_|u#&850 z>l2FFGx0~cipdy*IVdIsn!XgSJiCBaEhRfoX=+dO(^6RW$U%3PO2eWO;Zl=uDzw%U zsmmk>+=@!2g&k9*70_%7OvN*ZprGZ;q~zQrvIU-iO&B2*CAqj&f};#(l{;e?sFh#} zZT+zaVPJ2E?eU&@_pO*lkhBb;Z!o8p9)xHudmEv~jG^0kU9?#ffDr|&vsSF)FEDj9VFIV}V#zFc4j8wYE3+naqXv=f^9*sIDY32!8Jp+bY^N}r&ud43-&Mu>hqqGw-si+nLpInSEbs@(o0UN)rQ$tMguYgB!C$p*brlI9 zSo8NKXA>rq@OQb)?Z zl9qo*x8IktTD`IpX?V$s@Y8?7NSwQHDPlby6qcJ;?lbsV^zuru*H?<`HWPLrc!%T_ zw0NcTNsHri3|r`u&?zO|4)28#a;h+2>4w64dRe6@-v>*l975^`QnO}_pU>}hikQ&4 zLT9%h=`Z)SZfEJQz#rXcB)qQh0^0F`)TVP;#g^L3E)Hbk!x9G9u6huHAF8jtutA%a z6s~q_pfWm_VP=zv`B~16_=Zye&vo-Nppl7++sRE}{)1^kaP9NU6L5iua zfQ!|57v6Y`*T$%sE0|PE8Q!vs?&UD51V<;OEx01Mm=&nYNt{Ggww&UcON!$f!yqt1 zS}r){P1h15wiR6wMlp`UV$|+qsZE20Tm)^2Q{O0DtWux07-=6%u~D!)r7BM$TK%!~ zt>rEB(kke9-b4#m!DW*((Uw(Gvo^1tDaqRyA%twq79KVj;7r;8Vt2G0*Z`yd_tf_C=HMt%z!;wprtaip4?!`r#9)Yi@YoA+z9N z+00N+;Vl>lpaJC4%P^-a)Y?3A);Bfp8^w*W+ z!`ZK~C(*^VQk#UU_?kF;*IjxFJiWK3c8~OAc&0NfYy#Xv`vhvePMQq2Pp(=AW_lkT zUI(M5S5f6UsbliR^ep_GXX)YC*P7xBcmKA;1}T))!d$Z&@4PZ>XX_h9Hmqzt=I%Ln{+q~ZW@E# z_cE?sc{Ez(gEEXl`+d@q+C!_?lV=qg^C{enx)SaGRBB~efo^{am|vj!8{smk+31yx zQi>HKv1J>je%8wA=vVlzv*k5>F<#63yrq`~xSns)q-m((CaI;>3_<-i!A6!pND&g| zn5nix6x0VVAuMasNQC{gY`J-uo=3+*U+HN z02_(4&2Y$b1R4+eh?rX^tFKU@si)A<&2Z0eA^v>$Y=vf?Kw+Origf_IX!DuW+S+;& zdh0W3Tvi|4K(GMCckVoN*1ahtl1B&j*{A@98@Iam{-79knY2F@w?AbHCOs>&LNg51 zbPH%915Muo=Rd8eY>SlGUKlI<*blWdyprO-dGztb%7^+xEiFBG!W&ThAV-^%v4<+s@*Gf+ncu zcBw_|`jBRsLPvNnDX(!KmtV8rx^$O8)*@}tKq!|Y%S_9alLAWi(YtWfPSC%f4D<}YtG>!SwHdQb-t8RWA?@M zYAytGY2Tv0U&1}O@Q~uc>3Qqibzw!g=-~7vfrwJ7d37S%`=vA@ru&rAydf`ILWX2o z>M6xxhfku`Ux68pLj%5&(rSzbS*i0LjTU|db7`+dm4qZeDZH}Go5cVl(cZ75kufj? zypa`mxh2Eb2BCI4;r?F-y0}yNJK{rF?D)R8AZ#i+|Fx7J^XR7mbNW0rt7{RX@ff9i z156*FUf)PBaOC|{(dKX9=#hyoeIq^TydJI$e`dUKc5h*K$e6Y0C4d7VbPcfoOKCP=So==?6JRTD1PTkwv%*QUXH>I1H= zwCGEITi|v^+=91Ma19uDP`lkyn-+(*X4x*}1@>7zGwul(;iiC}1Yt-wK5*~Z#lQ4Q z|2w-6hgVkdlkvrcrQ1PG zKR_eWmhF|gTi!#;Uhu)o(9FHkcFPZ_-M3OAydF@{YZiL$Tj-D`pgQ{`Z`@9QL8uxx zHg8>6*}X-7K6Ydwg-HD++OiMa%V+4?K5$E~q57rprw{5~3fC$3MOrDe>W|UUQfZ!L zJbG@wlnuAsuih`c5PLEPEKsq+CH_kM!hGM zO~7;dWLU5z#6E*N&Jd}%E)qQF!XVnlP%pm!nn229(2X)_Y{UvmrCN3 zk`^?8RZZ)DZ+1+d^vGM?iz8veeHc995)pxluA$0KwtA5u6VZxViWVN0T0})`vp*XW z(xmL`;({7I(1F8Ja+Lj|7hV9SZOn%5AC}Vkhqf;vHB1tf(60XAml3d99PJ2nHWHGL!k_QafTPf}A4YqR zf~^P8-J?+D`%s7Pq>qxJ3=gG;aWm?t*F4&tNp`|F-}aj)tOoNAW+}S=9ds1OP|7hW z0Abx<$D}J@V5g2ld-??3J}%87CZnP0Ct%213~!LYF3W}JrxRd~i;(<1)Xx%>`MtED z#iAu{r~M`#=8)pZMfhJPd{@Gr*!xqw%MK|X}C~z2HJlb%6=BzJ}nhRO+0~J zBB>r_BAWjr2si`AkQm*Hg_Y>mo0=%sTokDrOYJSPpS{gP-)5IP;DFuedJ z{Upt>z!eieNqu6H!S-8U`|K4al#z-a`~*2u{e6E1RmXfsH?M| zmA2vnv_coUbU{jNR+l5HI25`swXP|zU;QsP{ zsMcj^aKwB{P+ovuxeVo*>tA*mY{@be&AbBFaK9bZ%R3sEql-qoRY5@}PpSEsru6E~ zQ?5OvDf|1P`d6jx>HRri{B;Tldzz>8tz@VJc}nvNM(#Nj_8aJD1RC?3w8-)ly8Rod z>8}6P-$6RKxqZbSU_%Nj`$HOM>5tl71Lakqnb*LfT}6?90_-yC^e5!_8SVH}nq~Rk z|HNN#YrN%aw6y|E@eaCO0j=?K^l~LMmCw-JN@+@s9H|Sn2y-Kfybj&QPSh0sL~V{M z1rsH9ByU7dUx$(XdbHv?G@hAg_jPda>(PK4Q2A?-ego88AN_a(VD-?08=!j!YW+8u zL@l)HZ}^Htr~Z~EMtuSUT1HWwgPy)A4Hn0RtUGjmj5j33-Wf%cYJY&fxheezcr?8Q z*WOP-+AR>g2<^KCjV%w!x23_cy<37|OBS^k*^L(7hP{ZZpq_Dm;zcKJ zgLb;1_&YGX9gB9~kq~%?L3gD>%TE9KyPyZ4_w;?Kk7LE;J^l87oaKYjLrNJENQ}1} zZM`pz?DMkU8`CBIb__i83@^d|1F_s%cpKs$aGK;sdu4Dxc=3f~co*C)`K7!&uEe=2 z0>*@$EhGI^@ORMj|42hEbI_OnK=BGt;|G#6aq$0;_hIrjMqbE7FFlZ!!dT?d1JLwq zsNX}WPhyY%&Q!3edM2|a+WAn*s__!&ng}Vsgd!hF?Q6VPmGC0Uc_j684uggJ8n$|K z6icr?S!fFmM9p2jjTWUb>`T9mwmg!Y5slF?4AiaYr$=y?!R2@Z#-74&C6vD5`X7OI zRu@Q)Ee?&2?u}b7;bC+R@6CS;ow-oLGk7d$&91sMoX9RD{}1gwovIU8W8hW~KdX(T z|3UtuI<8&|?S2d=85{mLTG;ODXmSl$O(ERn`2WW2^?7wnExb5Xj?UujeE`8RKoYvVjH)Kt=@LT~50f<(#>t6TSxwHCs>fEXovL?dva3Ir`NR_Y5Te{IP zCANdrum%t%@{DhDz|KUJ< zlINofqkm>9yAzaoRUtNUTNb=#yAR7vF|=~*`pKgl-{SB;q&d>8jy9GXXsgxH9^PuX zYIXF4rvsaZING$Slhk*6$tbvzh*7^Bq|Tbpfq!Y_I9eFuNJzZ!-)Oy#R7W$8pu-`K z{_t#7e5j)j1cxt$I;O&mfEnsYg~tsdZH|fX#>-naM~lQg|E5F=b1YaGVKX{la}+w- zc%pof2b5X8`W4iKL%Udq#!&QPn8O*j-Rt($x)qw|wpiW^yqX1uN=(5xkMuA{oa0B= z+^&0)+*^BfD%b%H9=j~{96B22NNm=`6TVuQ)0>jhCcIa|e;ea5D+_dP6sGn=_3e&> z@QCRpyCczE;#_TqdnT|DatXW#Bfv|!HYDJ0b*kT96US4+kA1|ccmDbD5KTAVps^x- zbBI*SKGZkd5og(f#)LZ>#rmC_?V*gOA3PH&gHVE2hC5mf{4Bn=GbL2G_kR2VilS~k zpd=iukQHW&`liGPi~HdqTQ7VYQAM;lwXcG|pff*4#C(V5GdFY6#ttM$INA?f2c*F@ z+^QmNY#^kgw>+R(gf*13g^^Y!V$zl>(i&W`gIOqRIca$_@ow zW3zwxJwy8dwT^VeTHZyyBONW^vB@_g9o?b7*%9e*)`s(_p4zr27~_TLYNR8f*&^<6 z4CGuDD%i$c$1i;oZJQyGAAE z(NX+7)Zd=;c!}Rqq{X6O&ZOl)+4+{6|t5pLMN6o9d)beXarN9&)0Os zM>-HL8mzbQ2?@qenfr zb=c+YUb}PcKZ0{LJiAFa!x=BTvh88)^nFe_RB$#84Mjp27753YH65v0O~;30tF|7k zh*nbXeSKpnQ&8_J8FsM#71SYy>tRem5|)7CnrZ0eC`Xgro>f_hPN_z>*lC7d*6Jeb zEoWs~GQ|iv`pDOmh}`}EmD^ys_uFXhoP4Gt*DR8IAj=J#_)g|luTaWd=GpI8XKtoo zeJ%NlkxKu6F;-d5f=AVJDo&g;^($wRAXpdUyH}$2#AhV!i_UiC&q0f7IU;(f3GsLq z5xg?YoEB0RN}DPc|59dj?czeW2-a3znepgsEk|OD=KnvkM1#MX6d&zK=-DN@H}t^7xXjKhOYHxWFPkHV8+9o8{SB%s(XgWFKq$9PRi=L_ zMaLxsnW~pieuQP(vx~BWDYK@Tma5!UB@)B8u)JYnb%x6Q3^Ki*wI`)4Gdt;UvAq&} z391+4NVYUZ-C`UKqFm9v^OCa#{FYT{FlUv2ogvC zTVnkh+}Z~+HsyaC%d0w<>L8aB0$$qkGJ9TYB5vvwFd>#)NX56K$8*&>l_h zUThbHq5u*E;R^iQ8i|#&jm-a|j0TQI@$z@@Fy$pnw(W?;y|y5yfNZN-jQzgwJDT3W z5uc#L5w7=)$+s-o5I0md!Qsp)+^OSV2HM`h;cO(}ZMP(o{8~~L1t}+BR}?|g(VYg+ zfK-$a?{He>I;cmyqj9cs&Xqs;K^38cHbsL zru+sEtCv_Z;a|)on90P8MPSzirk~@o7%y@O%x`ZfqcU*|OSeZ0Gh%JM_thM%Nq zfg7l|?1;BC@sE}rqb*k95jvdcXlpUh<3z`;7~x{x>OHfZn`gn}RHWlaHYfNJ1Eo44 z0MgK4C#b9(&A@*&^oi5a-YQ3-vrb3z20hP$9?S{|S>;GqL7c5PqAol)f{B=(xCzJFa9)>A<@IJ1X;xu5KInEo1Dv)d1>)Y-5&Pjph4 zz55vb)g*iO37U6oLAUQ{+7(N0q$E2em^vDm>?nmIHb`+i6Qh)4wq#O`6i`FCDUM=` z;TM}YW>~E9Ui3~=N3P{Es*_4onU(6806N>2>d3IlThQ%PM+z)~C%7Cvt@0W)%H?<# zDEnQGMS$dP=12o0e7l*Wk5wo}2bwuL!4ynLb4Qj{{=}ct++kP%T%)C6E`Tqf=0D-^r~xyLOU`@ z_=V@i$S=6+e0MuXHwzT$VS7hc_|v%q4BZqoxq~CkAq031;TN7mMPGGrBwK}_;NdgJ z@LHZHXKUE|McQBs%Sn`z4wiNjy_xQC)yw)5X{6DAJ1eurzMKQ}3-rA+-O&q#wmjhw zt+IjYKH+F8ddnFyUNj)0ndqq}9Ic|({9K_Y|3ZN}TJVHptkwGiy8Q&$B2;ik$Iyu6 zV-#wl866$NtONJJYg(kvES(_g1^ev;eXRaLg+BUQj+oua(KR<~SKhh^VMy&M z=lgA)@Ni(o;?Y+uf3keBB%|Qx&4XqXcA)sq(8P7rv9qI1V~y-=6%pP95jcs@$E@ss zq2gn=Gy0}59<~5fXvu5Q!p@GCR@)b7cV|cAhHDIX(O%x_hC`K$uGEThd%Ra_ZTf@a zUOu<1i{lkA{fS*1MPT}K(EYBC@wJs%ScZ<{TTavc1uj4_>SGWt$n3XWW#01%0oT6JNjBjFYqt!?wD_hF$WT@3|+bl8Cbn0 zYLVgi|CUoTdlIg3ng4Jme5LVR2P(s5t`HT__!C za8^6Cs>P5+33T7;1#p$4Dg5;dKSZa(OJID1MHx&%gH4dTMw=Qc3;oW4*6>XRnZ?|B z^6GRECvYif=_HyC%-Rc`M74nF{fv{Sq}~Zs(gWI+aiUAgDf8Is@!*|852CF5~*j06G%^lv10Qvme}k zXsKwP0%OB=!(+f~z*xV1!Ew>0Y@)&2%};}td(No+EOSs?_$<)DhXc1qofDlZqzY`{ pF!aeK+%UiYBl}eL!_WT?KQ7uBJM+eD|J3dxE%k=o+VAq_0RYQX<*on# delta 200835 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 z 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 z

Wn);{B}syWJ=>2{x-h|4U^^mCt+N?N|Q>Ivm7#J-R9E%`&$lM(kAT=J%>XRL4! z`<#s!E~oue^`f=J%|6yQlYP}cm9*hkjeY)%2$2Cl^f{xv4X;=AY(%~T5Z)`PdR+m` zxYOslLQL}HDOLjQZ#FrjRGg7X>qYHf(Bf0H+ITphuW7X*E>7(0Csh6n14QpA@orjt zt`4E8RkSR6u5A_VP()U4tD^nO{k-iKXH{r&iu1{Rh`W*tB%G60duTs$A#GaVg51h* z!rV)oaiZc|gP}>glGKKu44O*{PyI6KsHb)*b|yPl)B3n>nc4GsdwfJ%=C>biz^kU6 zgOL7r)wEsQR~DL~-pgm-2|62XRv@xhP@I>xt8OLxo{z~fBB(Ofv8P%?B3wIRcMfwy z0w$6<@F*401ut!)y@EG^26}6K5au?+TiY9sbw{EnyuK*N_JKYrDYRyvtwvt1b{DP$tSX@Cx@ zLw-vOpt%9s=I+(!MB4OydBis8r0syS)+`@77oe>tREyG=@p0_jjE|#gUtfFP;G6TS*{uq3-3bql$5m5lwMmKCVU%!OW_dih4?|%9e!izc5Q7Z_xRAHcxN>q zG1;kYsAYyKn%w|(fFi@StxbdR$r~AI$slZO%WwKYV7C007Kab*E^BcS(x&|X#%w^` zWOiB{ni8}AEV@xn_Zvus;o1x=xF^)nHbD4)dL4|)&Qwqb6OxG@*MWjEQFvWUWSwYQ zUF}N95MNK*ms8WIdfNX-*q;YPRsH|t_?>}a07aI2M?@hnASmO8Tey2sV8kuU-OR2| zt}QNUrDa@&0dY6dV_JDL*Lj(1IxQ+!6H!c4GgC9WE@-9+nrpdypJ!v}_4@qYzdw|@ z=W)*S`8>~a&htFaKEUGi87-hZ!eU;+uj)`C>cD%hBHTFnC%W85Y#w(x_#9lEd8DH9 z(~VvaUP*?-&McS8Rh0TH=uFOQwvlG8*jP2sdqH)Wq+AA%j$=p6GTL@g=YVeHGCa z4MUEKh=`2zKjFo_aHxk{aLtrEpiPR{2{sttP#_<0cX2vcif56MF2*FbY1E&_((ud{ ziEp;DWE?6ER_K=i4;G|@giX-0bf`@_Qo2H`6MYHY#O?T9=2IEsfXKg`dD%yjp_)^v zGziN+NDAK&e4sCh8?^-51@GH?}GPq3+$=}UWyG0-X2?F|~9f(G{% z?}L@-+Xpn<3{C7KKD6}njeky@V1aF1XZu3^XutD$(1rMnH?LhuI-G`u`mu#{p9x5N z0dN_ueL?IL)~v$ZoF^#>1!DgGX0Q)Y%mJNG>?gubodEP+f6(e9bhf`3ANLQ~0UZ~! zdN(oITQ}uMpZv8@keHn&o#X-Z!9cL3zoHWZq1OI_9u0(& z`U&+NB>n(9CFH>%>t3{IFx1gv^yOgjWk@Ft5m&%^+m<2lwZRuL6!K^(^aT$Sk67xx z4#lvD7{D>>Pi7y&H>M$-Waw2?`I1-xYuV;-(P0_tyEh!`uNxYxLN?RU0u`k10;Ywe zmfI&Lua50~WMKYTmR{?GzE?qt4yaNU->%UbZ}Gu=^k!)C2yw9`#TPhIgoTejK}Rc$ z;#;{51LgUppE3rvyn>!#hIGr360%JzPb$DBJl=zRu^sOBYT|@f!oRW5U?68W7sS}E9 zS_m|~zT=-h1gAD_RIRRM@S+5G6MaCmt@u*c9v*9Ux+S`Zn74z-ITl*tez;%^G6)rN zENH|)>&HSb^)>8u10LU?&~YNXYCTMeDW9~SieY|)~~{y1B;OHs#s*n_w|2GylREDoQ@NqH@yZoeTgfgug&ZpQ+!Db zc>=947_5Yb)v9zw9Vd#vL7do0VEwP5$&(<**U%f2#aE;2cnb#{8Jd65GtQQ{dYlC< zA_ZIzRZfPc5RE#%3Ef7dZ|R$&9p4-F=@hZha^Kfzs#rhJvJ-WmCjMmk-1p3Mu?;?T z+5cUzsk4#xuJ|=LR_)(|?tPc<_Ir>o%Sd0#_r)Xd!t&BQv3Ix)#DlHaXd)3$K*RFH z4Y0Tw;@_<=~=XCO+)}BL;^1N-yx7o7v0jEbdEr#t8J-}*G)zIh^SEu8N=F&~?R!6;!N7=yk@T_{e2(6bB05-YT8 z{R42HqtJUrU`-=^%ZhL>@Wi+4Lr@2p$lsR$p9N^_QjqonTC`M*ar~B^mDr%QZC)*S zr_lzdKCv%%9_?8w9)=Z)IS3-c+dv3f??M!`4BB!jN?iu6*FgF*z;^o%E`xRlr-sgd z1l`AfydJ!fr9zqb{0q2^QgZ9jGs_{#XK2B4Xxnf^WjS<($d|f8ylZugy)@kRcLE&C zXa$FykV;y}7}Wk#aelX#-HSHLqsh@X2E62swmmZvPMVX_8aCXM+xU>3eyIZ!SN$g# z#y?Rw1&yx{@rAC0{>0M7w@t@ANdw>LRiejYx#qj^x%gKATU7B8iAZPIIEFHp5*Ev)_H_Q~oIJDdAOXBK&^(BP<1FxWojUCrImsz^U6)$nYkxn74 z4ZeHVvj^TQ7CXh<8FdS9TsoGGkLQ3yft0Cm8)*Q;Qs15(;2*#PfjhxCTt=_$6f+Y? zCpHL_;bF-p6%$`B4QQB=_=W3Iz59>ScGQ9sq-36MG&;Exn#l?DzE6Br+zj!)gb9-b zd{Dg5Bj#V;?0e)Bn+J+8_l$KQ+Rnly5ID1HKI*&+dZrw-aTnP2d^CNx*i?KKCL3zl zn%sn*5Gh0_Z=i2>Lydh6T>%^)&))-sJhyN99+0`-=!%IGd|}`2d@*_0(qTa_-Rlj` zXezD{I-Ex?7T=A`EZN%1)7k=4J%pMHcRv}>AiJO~2H3EU=&}LS;A(`uK#Eou0%dfe|>H`$K7ZBZ)q~2Tl<@x=iG20HqZ}CN{~ld|-3C-GUuBiHYcq zec}$d;;g}UAie|j{Z8CkKNN0`v))!Z8hE0%Yc`&$tx(V3r=)~XpS)i@WQn}Y8;;&!}CzgpTaTgl#J&fSss=Y=>z+ae(x*ri6hrBuYxujcg*^dS7IU>gTmK_mM z0BqSwJq|otBJDUxpNcjf2NRc!vQ9v&1&`r`*ufI(yLdv}VQpSH5^l;~I4fXXHm)5} z_m@?#9Tk0xfA)M+Jp>*23A*JgsO>4R;czhS6qLiS=)fs)gE$(l-TC(JwtvN*^|SbL z2mrr*DFz)HjsEyq%#Mf8;>};UlJj9E(^Ke4blypTtG^ee7t=Zk(fXejZ$Uw3oq;Z3 zwC}w$AT=1;b7#ewo#2Xmd?hw1(^Oo7LQ%CcB_ZbG|0&Z}xJ=!P(DGlz#K;9Os(>dv z0voUi&H3o)FJJ&SqkF%If5Mi!%jd*#u-mE6uh1?hBkfnHx3Es~tGFTVmF2yLdn$xu z!T3;Fg%DA*4>pZ55yOq9oQFPhG1_-t+*+^Sr8>5Y0m(g}Q|e)XH@-co292ja?_2Pj z_?^{~vUW|v8W@DF)J>=S$r z57b_Te*XtF`YM?6<7m-UF)s3lVHuveA60;hMG~1u(VnYddXAv8SH+}|G9SXnTnBvs zHzJ5>upw*q!LumicbKX80B%Kqrt<;X_q*6GZkIO?T6+ZU?L&F)zOG8!><=*(wZ10a z3Rzb@Y@Fp|-?Be|nYf^jCvkmXRN~seD4Jz`q3^(TvDBJ2%sbC*vn8~I_3FbSioj}< z)!c@M9qCy$Bd$OfO~cIL_*(RI8~qZ7!wV;%*dZvYLi9O$UxZ6p;26$b9EZkGd-={+ zh?!Q{O4H!Bm=hz5OG7O%mYM~#I>$5^;~)X6P=FmSx1p;JgJmM9wBhK>zr=V)O=rQw z;+feGiz7?29nk^A->QlJ_zV2t0F-(MN(4L!_!DOxnK3i_Cm)^`|11;sgJve|he>8a z+4u*oz5`yyV|4BgH~|lQweMoD;WxNMKi+<0VO^j1fhbyFKi8gzU>DY+_J4~z!dKv-6Ld#JgX(hh(jKSvzrlc@D$ z@ZH9v&?lk?R&Mg(HQd;tAS=A;LdXbeqW2XWY=W A-}jJgb#1>x4^f!{rD=3pa!hL1xc$@z;G|T(T%2YL@4A*c z(I?>&na{9EPxg?Ns=re3Bz_udZIPPBw2mtgl#uWLJV{USWCT$OWPCM&^fPQJc)=<) zgqk$nD&@ji%_ml=CwO%|0;H4{Q5DBF6@?wa*OLaU4cwdtV}Cdz7zOja0eDTu^WiMy z%!3o7u=x#dya<|uRtHEv$C6nZjtYyNXqJZOmtpy;0h$;nB?7k(;m@EmaeLv33qhF9 z(X^oOu0H7fWA_4acx|zyeuZGZgEy|ysj!O5MdxT5<1Lz|G^u);11^}IOhmP8k}IwR zZ~1dHj@RRx4N1o9w3rA@$S;sIOhh1ZQBWUHS#i5-Yb{)IAiK+(rvRrD)fRkP^IdjAepFp|xQbA~OdhFf}wwtL;}q))$ba zrq4UAOOE@fI!iv{`6y_HZiGs&!?}~8HKe<(++>rZiED{A(*N5S;r}hb@0}jJNQA4O zo{whLl#*a9wZ5kGQsWiSeSFQO!f6urvsTj+uSg}ztKr-_PABw4sbSKEA@HDaT0vU{ zX4~IS`Xm7AMi)E^Fedt8f?thuh~b`ynlw{ObJRN0ut#s~<6A z8rvR+#@CXvYq;>B2Is~chxXKxCcy1A&BCQI&yRqbD5cqhg)<8i8{Cm-9OY#utIGdc zGVwAV{gTz9yg(+s{L;q?)L#*HHIv+!Bhi&`DIVs8gCnHG<~?&=mzyj;jN8!%85TG} z5d9`@M*$MOl)R0!#T5B`LSX zKa-&22(&bcM3t3T`+tLlu zF*n;$%^2x842;jmNY~>(DT1ejJ7w{7`p58Xg>N`gj``>-&>wX{(9cjpJ?T%F*Ncb+ z3138GW2I@}{$7lgTEN1l6el&cyo0*NN#$V58$BbvSg*Z1Gs%X_XvW(!q94*SB9=^^ z2q*F-H@Iik`qFmGP_(nYR3AFHQ}v~n#F=Cnv%%pmK?mTibEQJwJJXjXOE1CmkiOON zV4`5~_ga6s%(UN#4KOO#?tG7mO(ymb1Bl&=I<9Wu~!E6^!nuN*~-jprb&l8 zdz2-2L!hwzOiKE`kfJjo>97t!w4;cqGF2LsS*s|O-`krS$eow=VVCaF3G|Zo&N#``6tIa0CjiY-`e48CKvOEtd|iyEC(Ru(UVrvw>2I>y(5tD0PSxr^@d4_s5VlkZoN}3U{~N+PwYqKuCbS+W4OL) zFSrNjR{C3sr0uWB9$}5$n>Gq}BPG|ME&f=E2PxqwqDPQ~*0zzvHd%4kI34IC2_?C= z`*|CqWWv}b0?(rgv3r{_T+cu^+ej(h6e>txc#NaEAVQX35F_ya66A9$8v3l%bX>a> zIImP8_if7wISZ*IYG-#Zo0W&cR0z#!C->m0oWg4Lf6FI4>&ydd19ScOl_T6ouyhYm z<+D;stJJV-Sb?d{DPh+i6gJzqU(#XLo;2P&MRplfM`EmYU7-q7)1>I<{@`jdQ{DZz z7&=rG9v`02y29C$PLpV-v?`t2?9%hLCzKCVlmlr}4Lt;C84_i8uTpd?4cTmHoPS|r0^8IlX-B6_8*)HEk13})&DA%W@7e8!!r zlQQKYMjZ#^r=Rm@BzLv_I=0%>AF9&g+5f9Z-KVh~O5W$pgO0qf+0dJ}3M^kcDI_Q2 zzl5m$-$E!6TnPE(|34vw6aSYGmwuo^^e~!%7|z0qzHqncvUXBfrakil)&#Ffdhox6 z((OY^unPNzBps=)F}bF@zb%L=)jWj$XeXt_Tc-U)1M~y5nT6@qi_j2I>-OLPm7`(s zr;R~#R6U0F)ICfWa1Hx^)tCTKKKiP?6xZrb*uUzA{*S+Ps$c(a?T}%W1RYbQSk$0{ zmY@MFd@{-=w=70Vde#I zp`Wwzd)kM#>$mm45?gu?o}9ALV?1MMFDEZ6eRYnMWPWP7|um((CX} zlhindF%(YyJJ-fpbQ$2B6S+w|GsYPj#dQNKfM!KG=FgzNyMxK(tAophy8AIm8_)f;J0H)8G=gG+4 z;j_mo?!VxLFlCzE3OiswT0c|G7Y&}zRE_30u-!$zXfU8EKcR^5~hxS7)! z$|kh2i`1M$!Wus$c;UG(un?c2I*QZ}R)$|wq-pWXu;AXj0O;2_N3+N;y!inNN|)l> zF_mkG<+IYCcV($Ry0U=cu1YG71{+k;rMMjSDSxoa^GUInm6WoWMlJi zd4tqAVTNc6IAYGDX$lx(&f|zOmm%;33sq_^V|dG1n9QpSJdj4biQ6=eq4DHu0YzM} z=L{E#oWl{r!w54(o52w|k8xm#`7S}?vA;BnF)F9z6nLH;>MS8`OoKajqi$Q()&*&k3w=1`6(Ll`55 zC_^}+4`PfM!oN!&cncF))lvsAx(}K9daugiwXPo{%pk2NCoI3f2s6aY=7`ppBBcyb zx^u+r!x;Td8R=OZQF=2z49O8PIi$1kNCAUXxPYA|7kcDE5zUz1YP!?H2&Oyp(rkiu z!qX}`V2>mSc*UoMPeGU9FglWq!J_8{6^7$(p%(u1`^$@ zL&NN>PtoDIE=ov=rU>t$gm8}N4n~-zQNuVQNQ?tRj2awKUykydPBqkDrOgmtEJ}pW zu62e9^PzVHFLvUIfV$o5IlhBANaZ|KtHlZHHmLMTh2_Z11`EoRtk+<-6$$H`9_ zVcsd-YJ!xqwnA?&FN>gur_}v1^9ohOkl*uF)Q?6!&PCPy&;UNgxy2 z{vJ)f$tBWmFb=$Py1^0i4~p;}&HRHS3YiG1)}txcIHX^tiFl8uymvay37h8`VTS0ZIHLSY5#FN-KXF9= zg)!ot(~lex&N4o{M>CFdNIlIMF-Shf5#tmtugBB2KTKi0mwJ@;Xh)$(Ys14%GSaL^ zQ%}MqO;hh2@`?`8p7JBSZ&B5w$z{+@@g7Y-hDXQAOi{)`Z&mMRz!{+}uy}&E%MzdI zDD-Ikm1z1UAK0pTsJ=Xk_uD$cLGbtM}v0ODQRUmdt^|`M}sZ~ znFo2!`Dl>$aY`vi_-K&#ae4_yg#DDYopn;eevYX7n1*=ox6hXY^5(9APR?IR3??~? zWcqk=Z4V>NdL?BiM@%;Ub1_8!k|WBuG!5_LgzX&BNr#mIy)^IswsJ`LiZOcf=eJbN z=4Kp%o2u)^%x#xm)_=ETW~NX~-H8T1M}~v6kiBHgM}KcdA6J7+IvgaB=|vZxgW=#R z6xvsME`-;a)o3JqrYwsqN${-oEN<+~tB8>6h8)5)6L<|ku!C+3ah8X|_D|_K*q`To zUV0N&aX)=t%Iwf0V0CE=_db}@r9$NKe5twk5EMOqgO5Tnd=|&`LiEfFFb-+~x5X0r zLe92K8cFwL7Q-A*7hh|sqr3cSV1>~4-P|>KEhuW_j!417Xw2B_$=#6G0+#w(P#Ojd zw7^p%^zfjI=R%tqw;so=5VpMKg=W;+!g;pe8jm%d*P`h>8l*!6NJdD=Z(Zsia@%JY zv`+Ke6%(dwN?YK+xocc4(Crtb#1`+k``H3{0%5YZuvsC_ zOrIq(=%}LvhXt&&m*uW=m9^jB`9MPEwoKUml114Fy*T~FBz3^L0*F~!cBa@8iSzm_ zKFgY1*5hCwA|1<@8$*mhcdVM^{8jnM9;gGf$Oj|6zmyI)Kwj)GHMbqk-QYTmY7c;u z7=7Z(d*mO@Pw>FB4~eSvN4*9}pVWgp$M*UXWY&z*>V^Ub!WxuHOiy?A6N3{CHFQLLlJLkfPi-~T=VG)R1 z!%`V>kjn!w%p$SP*ln54sw}_}LzF|Km$K+)T{0#kk>#i=hIPE2^51#R_2@Fsfc2E1 z9!{0(0_8sL|I!Ys0Xw%54qjvhL0+YvL8DHRxS z^Q4D+3)}4eH!HQ4*K_9dPutV%LaUh>mu_EWevXS-0vWt(%G#*ur!LeCa^~R^BFIb+ zm2yt;DA<*!Itb=rS}@m!X@5M(S?FGT$Lc4f2jSX6)0lzycXqMI zqW)9Ui}ECxUI7jFTNJ^|!6=8kCBcjm5zD;H+p2O7O&KPoz;KD??t(Lq)t4%w=6Oy; zIqxlWiy;#0q)7_xRA#vtC@13MoaaUV!CC0_T$&kpg^MDv)dGLh;42FS zARKQF^7mXkg--AjNsPlh+w$QYT>dRs<8nxo4JNIaMz-ac{l5f#vMR+tw|1LSWRtDwmP5W~p1VGpH<#@U z%VmM>7HmNbI$$IEz>_lm2BojyX@`(>q{b{#B}dF>UM8Wo%$c_q4@QW*a1?EiDrJT( z_ZO=20g4zQCDm9~m0}@MMo3fBTY_z98Q{!@TU)WX@5G`dxob-g(;N%$5Qm54UYLP)jg;C|ht0`;*nAt+a>M49H&BLKYVogF z7jdGT@uiKUNWst%&x>dR|+ z`q3;sLxj;BQD31*DMRF87$E~MVptpSRDeE$$)ev2pg(~&O*1fz**iP=G+soHUXha0%E9BO0fV6<#}JX2XsD~0++tmfcRQuCZ%BT9%}CQ0Pyy-=WF3CNeiCY=lHWXXqw3C}To*wa>k z3q-<=ACn*O1*MdG6bi|x^kHe1xy49lhZK+Zyv8tau+{y zInB>T?~IO)hJ9_VQRo<{UPw7jt*4@9V_*;44K#QREZ<`{fl_USGv>^Lac4-GM+|{= zMiQ>K;4zFwP8i>Deap?kE1OH>sLi~2XR8p6daG*+LdbOvgo?uEa!cWodeR0O(0sup zo$jO>wTCid2|UX}3PoHDF=URY%yTVZh+Ll|MiNa^$`CE?EYDyA#;1mJUNQ?ax$o+# z!E#%d6H=J(TEGw?h9i1?#)2VgG)DyHyW4A0YKDU&Dw`R0F+`TU@ah(8o2m#q$EjMd z>r8&hQCx1L4i7UUm_BZL^T1su@yyzsg%FMlq^fvo`PMao`vLBY&@S%`3gJ~vjc^tc zgG>3jL~mgkw!f4Z%mr6P46PD?`m!_u{AL0M6Jtt3^>DOjoD`iC;;(#a&8^$Pdz|$! z7|T3kTC3?B!12TV15K_5w3-GXFcb9xBd7rLq3pK?Rgj5fcjl3W8p__z%CMZG#uGnB z;fcgsh#tt38;{V~@vvnTJDr4raUb=0*H#CqL+wH6?06|Aht1fQ)^sv!Ec0<&7!%1E3^DOkDM2(gA6&{1?N5%F*BOWB%4t;nlD|CVOT1EPWa^eU zd*L)5_I`PN(SOH8FzRBcb`>eFNo~NHCH&Q2;50bP{PtpXckxMeVQ@~SEC21OS(W5OxB z{FXr5)d#y4ya-g-qLaX)ncMue+}sLNjwENwR$c)5mTWTh3k6UUcJo8+29tFib)F#A zuL0%36!8TbJ3&f;U1ubYH#LEBVO`NJZfXLSuOUyd28 z{Q?Oa>E1)UwRA#+0+xZtQoVShhf-5N!&@JDhKzN*IYz;1&&rC*=jL!maBo@GMA+8L z#56vmExt6|-wZUJrv`_AS;~6%0|Xu%R2(;h zm9Odc6P4jNLFP??!v=%UH&ftn()FcNrFw8YBX+731Am^KDmCuZyTW{0R$*+e@D|uy z?wXgaAue~=Woy#uG>`=5s3SUa*?Lgj7u1YfPkya~TJ-5uDLS(%isItp7u00B=~GUp z7}gckY(d9j>k1-5*e_Q^Ii1T`2N$dUJymL0Bb#f&P*9V%U~BkwN=NQQ<^zbn-rfq= zWW62lzKMhi@OL&e`manmhrrU!Hi%RDocjv0R+uYwTz6nOjAh$s6er^^=p3j>4Oe-N z`|ttJ6B+2)cchY>)@#wcZqQp0*sM#ppxPlcz-t$Z_Q$}a^!B{g>16mx;^=kQFpmw`8U`(g76(D1q?B29QEW-NR6V2N*Sa^@k9n2)NnhZ!C7XSMuq_m z7hHwkWOou_q=h->VtVD5VI}THA09u9xCtbN8px_pj%L)r4GQ`y0+^vw`Pz?#6W4>8 zR@z`)G3Lx-=oVgxhLvRjPx2F5ctW1jP;C^&OEgsi1vuyAyuJhG^IN;0TxH2!*Lf1* zZ}6O$Si)0$M1+#Cm-86reP`b5-_FcfvKu_?8(c4V(8EobaF0xT5pk5qWlR(LqpB=7 z#TN3PB75os_klaY`M_3rtA#aePntcdC@&-Ed|>htnjhr>YVfYqD)BCF%j%zWcF=v; z9zJe?d%4|06;;s2H~n2$xr66bU@oB!df$x)Q}4n2{W+Wk%pB&1iBQ6iD0qg{A%vL~ z<0sT>h7{B0$n(d`@Gyc3{$qvt1NguJNqH=qd>9V1H}uZMwu84l^%z<{L+Y1P)ry4g zorV6UDKmp$ufq#WI7Id7szccrMpgSOWrf8MxtJqH2}Md7qV490%w~ym>@k#_`7MXE zeTxv;0dn8QfGpCG>>f>|-;(9`t$`E4*N7P-EgS{@wAw=XaIb?i8 zAy-|>QrpH6nQS|NZk-|K7LI7(Q1eQvZDzuQwc@JQz|~D=Sul32@-$tyz2^o2ZW=JU zJVoPkq#8NfpJ&P~D2JH{n%Aw~xfRB5Q1y6-f!%6~(T-1AH4hU<7nv6M&1v?f`KDmex8f65yn8IhTy$j|G|}`!mQYp76K+edxJ2O zY`}n)62GE)e=3=O;a}yzQ)eQKJ(L9%{xO^}l4cGB#QhZJn*Q2`93l3qG);~Gw@Ay8Za+KEP zosYhPhS=*-73nK@g%XxCnHgd%=7_qCA_WXlmtlm?{Vrt;7(}+z(`v;1?^y4g9y}LC zj72Ofry|Zm;f^;$ggG417cmYD(HAi!M-!Om4TpybO9O6pq`y?=dAs8LHBV-qcL9rS z=5iL=9L9nnS`~A1Hbv~uFl}i(jZ)By<%K~?0jby;cA=H`c{DQ*$HG>tfWK zDG~E^j%ds&FOVprP2q?+ndwa?lj(%HK8b|otSMlG)NwqzFp=e&A;uVvsBbXl@sx#( z*D44(<2A;DA=)b(kzZwL%9+3;i4#aQFp`aU?9k69Gg9(ce*{@=x)VINbRX<~aNmEJ z%;V@PG%m_`guf1GqZligC8en9W@3r-TYiy?WsD#Q5Dv*IO;pMdvY0`bX~P)< zreb9vPh$>aj2NQ#=ZNwmMR>6&RU*KpQ?&d`B{IE1RWg{da4?Dcaze&H#)2UlUiu(u zcFzomKcvNc*$jppU!FDqwXO-#nA#k!A=}iGC1mjNAoB>qXS3Pu1lO%Lc?y4_BL<8hS2g) zit+!`eE9#D$p15nVfVl=IEeD-VXeXhFAQZuvA06R!z(kq3aXu`par$TZ>L)8$V6wl z6Gbv#u}9OGIXd3rPjlRkLM{dwsT@($7`aFqQ%&QD(S{-gEREKb=TatvCD0y2 z%*HHcwZb!7=DHwHWZ|BOV7Bl#COP%t?yq4q0zNIxaVpQd2IC+1@X({HuxmgtwHZ25 z04u%mWOPV^l=!84qH3e|v!(D>$vF5S-g}kfc9p{`fW%O_=F&4=ZQBa_JL_ z842jU*-~0qd8=~7qHFb$F&m~xYR6v?f!ZZ&$ekXHyIhB<2PRHwdaW+YEZr4B`NiNu zpGk+jYg{)ISZX60$0gkb%c&mChJ_@Z;qdE3aOA-HixeWP^<;ZFd)Qo0>nR>dkR&=A z9?S(%s1wTr|=@!cX+Q?tDL!a zm_pQ=jBNmCtJGi&0vUq<=$olPAuKLKR0~IhV2Z#d1`^YF3Vsp!r4ok?dbmI@o=GEN zvW?km*g`=9%txG%#y02MZ4^=d;fQG=J|vC*&{x_9zf#r6vvB*>F&5bV@k{2(ADrT zUZAq@LJMhnF-#lqjNI6Yo z{D3;nm+;G)tL96^un0u5ZSJS(T?w33)xMepen}eX|9`;mW;=6 zRGDP3RJ|3dd)C7KA6_Qft{mdSk;n#jzAQ}8Z^!_MV8XY!#_+ajZhidrjQM3S*}xdW z3}Uip2JgPVYW2z#*e&S}4D3wAU2QL)F{Ra%3=3Jur1W;OD$-6aeV@SI34&;!_|q7lT;cIQb{3wh%9*l)mZLq9m$uBuEQyqg36Dy{W6?NM8XvSU zNLhp-jF@c9!V6wsz!8OwSxQ+N0rF1M=xpR-Z$Q7*xn4LToXk*TvDY)2{T3E)%gH4B zq$so5Wem_3RuL=Mmg$|>j3-!-yJo)CIiCsVxx&H~&-ObTgqE2+l{S~eJCMxj&HaP@ zGUxc&%X3b_#28iSZ10@4RjSuvd;(QuA}R13FC>9W_Q{v=K2@u$L92%w@Q{|I*7HC} zf5oAr7J~3mO99h`FpH)yZNT~sGIg%`*%|N9xgA&9MLY>cm}+l33t^^-{$`hfl>#2{ zA3N+jE5oWKm@xG$`=w3+V@Cykv(?=V!YSO4Xq@jqQLbV##K4vt3=|Ur&07NZot2|)OUTYs8k&J_ zEP-W@o+x;!^kP^NTx!CE)-uq1<%x{HDUrg zdA4NcyO$=x7OjbuN!ZjjtyZ8-DFJ)3b52$JZj34stS+@hq06LtHB#EGr$m8x>N2VR zOUXQ<*}z-qZ-GJ*1os~?ZA)rIa7`@2N-I^LK?ehD$Gp2FooJf%^aqjEHr`_OI}q~*B(zz17d z79B|a2o6YwF@mrU-?@+5HYJK3q-aP{C4v`&8p`6s0)uluaXN_@ayV>_XR*~V?4LOg z(3nEd{Hz#$=MIT$25x^=7d%1O_6GI9?=33Gx?FO>iz7Xj!yRnpX#8@iUUWm=>=alt z2w}ypJVhTbhbhMUZ16z{8jo=Vr@x)TWIit)0e)9y>k)6I`rlhgMGe?s7v}r?|`T z(DaX?zD_Qx-B{R(;0=<=NdH*+yy=PAhAnV$;MC&I-|usYC`Fj3bVkA5JRvlla?+nW z<$E;o6RC0IM#J+upCVOgT|vXnr|BS7}A(a||s<2R@NnbU0kGC4A|{0ZjZd zzjoC!aDJ%1zJm?gG$;G3;RjL6Po-Del^^xAKS5#Bh#KTA4EZ5oO&ECI6Elv-u)U;=HSf7Pw~1~?fP`Aa`l z^-Ct$7qN9k* zi$0U0!xoV}mxQt~8-4ki^c_5p^Uf;hc&4FGSHVq_ImlQgHEuEGOmXhU5Fub=w(z*# zXwOBs@*O)X!kbX9=ZU18iO+vAsOZC$xV4DU)k;vv-Ff69Y-bhT?0AjbZ9NAG6 z-9T6t`3*Q&FrpwRyrwhxbGR3A4%+y+6jR@s8@*qcfAzh-p1F&!HtK~Y;%gDr4lOfZ z6Dk%71?ckUQm34dUV~>IDY9n-x(n{YKmhe6H(uHkoq^US88Z*@5F-d~TMxX|?7hB; zwF8Cf1kIM5v{Cm~G9j)Vd%T+*1q54_is=~#w`JZ|Y$G1;&P64HB@z!vgO1`8en?*} zeQmjmhOUu(mdhyCE7h@@0jSAZDLzD^#43M71J_E8!#7YG(QbS@;CHvsqP0?ohQIoJ z@J@HZn1jQP(O;#9V^7jwSC0*2zs8(Ix7SK7;;!L);_zj6Y02>R-kR{PX-V)-XHd}V za0zW1Qr1b6;QGmJ>!6zcgU+pkQPZTQ>!o%{m(nuvbDkyNN59z!U$%S464~S6YcP+M>^~ienmo_kXEvUm#W7-aJt3Nu+wE zHgP{tsuNdy0R@}zeb7;79_+oBapB6N(KavS!HrINrN!Yxs~3~|bM)4K;8xU6(5e4O z&EZXjpp6i7J92J>yQFf_`x~WXs~LjUZj}01Q{PAT;5({v3ceSwSzhjvasjUAo492< zYW9WH%qrW^@GoE+%MFr+xOusQ_6wq2izvEZ5aC{ioptCY`jXMk`)J=6P>S!N8(+Yl z^=YWlCb)$47|PlNz2FoydJ|wH(V|Uo#&bA&5A+c-H!8E2P@$pQR8;*tb-*c)?Fq+Z?qU#i%vum4MnsyWR6rAPLv z_GLsgQT&(*4$J;p)xK-NI%f6nuwH{H8ibh&Vd%BY^sI)*9&l|@&6up3!J;S7!oGj=ZQ3cp73c3S z{fgM}gs-HO$dZ_>CW1eawjT}q3a-JOP*iZ}z1(%K+OQm4c<8;wr6DC$@#;i$;w$N; zNM&kC?%-D}0fRFvb(Er@@6RCRYp8|ek@~gNs>WzgJ~iE=(WhU-Oxl#N;((;y!W&CH znG6_-PJAtmh=gi!J2R%d8H=wCLK)w{{lB%*?Qf*NLRP^_$Ioyp_q*ukw^CZ<({p`i z_k4b4r$R%ER<@0RLwD*5lBExVz0okmA@!(nMANY)H=bGOvIA(!iY zc*fmh)8IMvzBfL$=!>t-cO{10g?CiQ!2JQr*dw)Q`u(;{+lAcH{Z{vkhXRgpN5Id4 zut;@Z2Lf9bb;tMac*N$dy;4rSm6w7%cRZug z;E`4QVti3S$qrD{X=p=vC}N+~#j+gr-3K-pp#}S-9q{Z^#&=RYyd039TxeP92SV=2E z)^xPAOzO}Anm678JiBMQ1y_aWez@NZa1_->g8P>saJDh(!FOL1m@BxD8LZCKgfRwoo>B3e-o zpijS-nudjLxAzYSXjt}bQGSgqbozTKDJ=M+2VMZCZ7v9f9+6r-XKPbTikJi{woX3( zml^erAMK!aiCQE z2l}t0(61jsCyqj0KZt^VfD$i3SwBcClU|iNK9(NG%&41I^Jo_)*pJ?MwrlR78q7GD z2TZxPDnFJjmbmvPQZZoLwJ4!wpcDiH%>rx zT!d18gyQ)C_5V?t-*nMpSEBt69^{bR$aCp31v7@&0is9Q{S*(LDiAR=+1Sh znB8!d%{_*eod=KU2r|w?tP?2WHz?4fzFEIX0TwtX1X2iAuq^VUd*A?&Y-nGjk4?A| zyc0TVg7=Yznq83Ig;MigfL7QT-MJveH$D&#Rv)fGm$C3#BikXL{b-lmb)_di`p%X) z3(Z!*l2e_nM9M{}U*z&k-=*a>o{VHXgpbhbi(o{&=<-FWm8Fia&LvP>I5sqP{dKsD z0qpUCnP~WBxWD{4^h~)lC}ch*C@(NX@4-B&!z>x$&5W9O#Rjze_vP`f=d3TNDTy$U}NnvZzCNNRtXiZaAua4fHbt zy>(4mXn6qz{Q+uv=$rKiNC!8!d#^(!N=Ij}OXI+xW!wPeRiXtqz@S}2b^iqH3hMDE zq&SZb{3*?}ob+|S3Ae^ucAWkbReR>ae zBCdsU#vMu_x_A$?(*-rT52M?$=;(b3fvlq+NClQ}eK#L~9xMfD2Bs}vBFTpR0qL*Q+Xga1JG3Q+4uQeynz{~^B#leaPQLMD3W zk+cME)vxs!G(80ke=PNk@Alt`^0!t`WHv`-kEP5S<3QI$NO>Hp`$TF}V^meZC^Ynm z)GcusEZf(x)tRkWvi4@8E!Yt?_jEU!mPE2I9c}@8A|-|-qGK4;1JI2paFxNeSObQh z!nI;b-)Q_l0_~|TkX)xIFe0KmZoPzu(J{C?|1EUnLJ9rxP|%uPb!j+}T}b{P+9mC) z6IY|)QV$<1jl}8@{t!TGBuCsGy_H;+xtrf5)#PWCm z(-yqwOol1*mh5s&jZU)~)_vCf)&q|Rxvl@e#Y`B}Qc-t{qhaL1f0I-$BhBL2``ovS z;S4{1KFFE(cmO`fv+}~IUzy4t_+?&IfUCGI6W*~sh~=g+w9DA`lLtAz!|s1TQ?$tH zXkqya?Xx=Cz&kAutd4H*ZeYg%M~fC>La!agBlk~bHAA`Lr_P$s_y5w!3G``zBQE~p ze@DwYUOk#|6rBrjJO@u!H3@X|1n2ObK*!rKAy66UNP))<>e?I=;C+`lHb>L=egCFJ zGIP?O8DTRzZF3YjTDrr$p$CobD;U zegB`+hiSO^HuV+hdqbpHO3<)iM~uaX-U@cqkNzrglO3+Ez%=Bqz%r3M2nO01>}Wn< zOKkVV)^XDE zX7o*nV?y+b+=ki09Q!KtRX>~ks~=gkPmvPph_)1=!J&?(&`;!tI=VoAb0E}_7#;%l zE!@_YFgsL-8pPG*P;JLg}(-D*N*2hXh;T-#UblPRJpDtzf?wvzBC_BC1zlFo1S&f<9 z#b7g-iWd}KT|A+S7!naNa_F`f%XfI}iEIB65?8~Un^c}ReRgI0(Pn`&H3=#+e4Uwva4j+$@*7NhZqcIk}9YUmVm}JTchb= zj)plIRY{0WsYbWhX@abv>LTmSXJ%M3#1J{+$hVY;to*-H8!YvK5SqG29#c`{nI!c9 zmRjlP`zfb-fl}r&PyVDjbF(4V*W#}kskZ+w#wtshZ>^qEX@FCve4Use2-ZdT>Xop) zvFQo>BeI=&v(d_0j*zbUGqHFU5v(#yoEA_PO3Nx1|59c|cu|2X8fsg0WyYaDYB}PY zHvRvRBm(SB?SCf`Vo=*~hiWy$(eiMpkzLWAa7Wzp84=xQ_*fq6S5d1f8eE!kBv5mR zL0R>1E}5`3M4KFe-?ZG8ozUZh9ijSHve{y= z5k<)#s9#-)MgW=zgmT2HME_EXj&leyRac7q6w9=CH)RJ?W{ol|RjI3TBnEF`X@jDx zGgSUbC$sCBdy~sDvJ<{9vR4Mc3V)+WN0KE4^@()U3u_$FJvS*EHh@(K6DOm$B0-A{ z&~iX>k|VkgD5iV`YZcFbNvwzgMHLqJiE`0!e^ zCep~4B;Tnhhdm(VR~E@cR~!(Dy#2x{UNTYb+Kv~)PgYOa?W|9$?bu-Lxt_84Pg;SX z!Zd=A+pr+Q7bIwN?1i~M!LwHPBWMf(?k?gayKTfm(r|4x{j01)Q(_!#;&p$tOKbhn zN^Q9WS!w9T$TdXPubo3S)%e=@UU+ z=ote{+IAN@6Nj(DEQgm7uwhlvM|B7LMf3#?GAI5wy#qgUV%keEMj}P0tGAVr z8Mwk=HB^|Hg%zgf!-``&D$tXL{iaT^`NQ9C??jCXf-2I=U7LBaN!qc-lRu%Jdi9WenprAJ~*d<`RDUCMQG82e>E9eap|mHsk}{j!^} zM_9aj!`QENmtv38u!5_@*sq3v4*Q9Q+5Z}L#`kku1r}yvV}GT;*2NF|m7-&A$70ks zMs~bxu^Nxj!FWeYi-!J*cifFMF66G>J2P?9OpR3^WJv_GprNEh@MRR#FA;R|Ihuz5 zC}?G(qm9+9iB2UtnzRf!3%NHd@Qh=KGe5>w6jB==4#Dcxt)R4@@I$c= z)VhJAfkj6{8aP@-3|c(FxOyg{>x7B5mra=X)=Kno1BdJ|AGH`WcrSmmktUSU@dl21 zqs)iCbwQv#yQlL(AHu&}y*htSe~qcp`6Sat4_II)S}x7rbBt*qd(R1)c8sU<4>YV{ zcIV^1`&ehC4Lbjb!^R3l1y|AYNsbc8X>_uqU!-tJ3{pbLJQ>NSg5FJb6j?N1ctghw zi`CqV7Bq6?z_drL6r$1e6vykJy3Hw$bgQ`;-A-{N!(>^E)6vapu13S1j{ZP-yVJ1{ zB6Vx*Xa$w+?Z%FtR^tP-zpuBXL;CfdY&p6Lh$Y{s2jwGw`3p)3#V_2=k z-m^4p&q8fb24_%K8dSJ5XiA#HS;q$3(J?n;-^`4r`+FRuU!d=uX;_+8iK{kT+?Jgv ze{^wX2E&R`R9iH$0KI8cXWEmwkvmCh%mVO z!(zr7Rp_2w^tXVx80M#QLaK52lTLds{?b%`$f1W_DC>=nJGGzPwvv(Dx}2BVSukZRqng zC`7xVa}Y!W!c*m++t&sA`S@iTnhJ8UP)}1*AyXXD%34#QmH3(Royry&UsDS=cN2|N zK`E}ZQQtJ@S1UdZ&LJf4ra@GKtq&(Pv0i8iZyv|+ z-~WcpTO?LD5*u$49Tq$Um!oqHsid1}9N;nZs2bsKqnFfh05y56hInBf9vHG|o!vL6 zOM|!)(Nqm&>`{6y_IMzL0N30S{KTni?>{=&Ycm~z{_YKx2}*g72~k7fEU4YiL;sT)f2ah3Js?j7xXMU z3oa9~$|kbmxCDa)@?6jboZ#~{NpNF)M!}PA=J|6;I&I8_NKfrnV{I87%7rC7`ZMVu zoz$@(ItU^jF9US51pnk1^UjA;5{%nd6hav(VsnKMCM9vqQ4BMFq>)ZmU@WJB`Bs8# zcbHMO-OV`Aq*aaFQB1~4*OaPmo*xop=r^P^b_#ArrfG&n2^nPjTfxgcBw4S`gZ7!l z9__lbSj>0*qlQn`b*h{~QBD0U?-n{RWVmnX!Y#T#o9F_gH?h(ZGXxVWyK07tP-0;} ztq1{fl@*VJc^l-iL+^NwW_Qhsd?Y|Ng<8Bh#&%AFaYtC$$&Zeui?8}Sh8^El+9i?0 VyYA<#hP){KV)+ago<)s@`~~!*>K_0A diff --git a/boards/default/micropython_esp32c2/build/Mixgo_Mini_lib-v1.23.0.bin b/boards/default/micropython_esp32c2/build/Mixgo_Mini_lib-v1.23.0.bin index 4c2c7dc542e0ee6c17e3ebdba606a95df66e416f..fb5897582865058c2db012c6e1c4305aa1992aba 100644 GIT binary patch delta 248906 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 z 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

E=SR)eRE`5wIWpm4!tNvpHfSP#NKy>W+la=5 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 JW#w15{~x!LCf)!5 delta 248896 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ŗbzbC5{T(m$(T^W}L977q^*V)R3Ic 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

mR7l@|JDq$O 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­0d1rLH3@?I=Z3J1>ev1fswZI5d$O}# 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 LqCu9p_7DFL-c2mg diff --git a/boards/default/micropython_esp32c2/build/lib/mini_bot.py b/boards/default/micropython_esp32c2/build/lib/mini_bot.py index 27f2a1be..20a0c663 100644 --- a/boards/default/micropython_esp32c2/build/lib/mini_bot.py +++ b/boards/default/micropython_esp32c2/build/lib/mini_bot.py @@ -228,6 +228,7 @@ class BOT035(FrameBuffer): """Reset SPK, PWM, HID registers to default state""" self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_SPK, b'\x0A\x00\x00\x00\x20\x4E\x64\x64') if self._version: self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_KB, bytes(9)) + def get_brightness(self): return self._brightness @@ -319,14 +320,14 @@ class BOT035(FrameBuffer): print("Warning: Please upgrade the coprocessor firmware to use this feature") """Graph module""" - HEART=b'\x00\x0c\x1e?~\xfc~?\x1e\x0c\x00\x00' - HEART_SMALL=b'\x00\x00\x0c\x1e 50 else False + return True if self.getbrightness(index) >= 50 else False - def setcolor(self, index, color): + def setcolor(self, index, color, value=50): self._col[index-1] = color - - def getcolor(self, index): - return self._col[index-1] + self.setbrightness(index, value) onboard_led = LED(onboard_rgb) diff --git a/boards/default/micropython_esp32c2/build/lib/ws2812x.py b/boards/default/micropython_esp32c2/build/lib/ws2812x.py index 5efee45c..24d8634c 100644 --- a/boards/default/micropython_esp32c2/build/lib/ws2812x.py +++ b/boards/default/micropython_esp32c2/build/lib/ws2812x.py @@ -37,9 +37,8 @@ class NeoPixel: def write(self): self.pin.init(self.pin.OUT, value=0) - sleep_us(40) - bitstream(self.pin, 0, self.timing, bytes(3)+self.rgb_buf) - sleep_us(40) + bitstream(self.pin, 0, self.timing, bytes(3) + self.rgb_buf) + sleep_us(150) self.pin.init(self.pin.IN) def color_chase(self,R, G, B, wait): diff --git a/boards/default/micropython_esp32c2/index.xml b/boards/default/micropython_esp32c2/index.xml index bbd9c05b..5277a57a 100644 --- a/boards/default/micropython_esp32c2/index.xml +++ b/boards/default/micropython_esp32c2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,01802910044044010000412000000000001000100010020000;Hello, Mixly!10Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京1SVa3S0UKHIy9dDArs北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensor100midi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifi-namewifi-passwordurlurl \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,01802910044044010000412000000000001000100010020000;Hello, Mixly!10Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京1SVa3S0UKHIy9dDArs北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensor100midi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifi-namewifi-passwordurlurl \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/main.bundle.js b/boards/default/micropython_esp32c2/main.bundle.js index 183948d1..0f106816 100644 --- a/boards/default/micropython_esp32c2/main.bundle.js +++ b/boards/default/micropython_esp32c2/main.bundle.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Ct{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(vt),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Bt={init:function(){this.setColour(vt),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Et.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gt={init:function(){this.setColour(vt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Ut={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},wt={init:function(){this.setColour(vt);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},kt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Gt.OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],wt.OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Wt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},qt={init:function(){this.setColour(vt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},zt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Qt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},jt={init:function(){this.jsonInit({message0:Et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:vt,tooltip:Et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Zt={init:function(){this.setColour(vt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},te={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ee={init:function(){this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Et.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Et.FieldDropdown([[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(vt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ie={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ne={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},se={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},_e={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe=230;Et.FieldTextInput.math_number_validator=function(t){return String(t)},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const pe={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},re={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Ie={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Te={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Et.Msg.MATH_DEC_TOOLTIP_BIN,oct:Et.Msg.MATH_DEC_TOOLTIP_OCT,hex:Et.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},me={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},Re={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ce={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},ge={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ce={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MATH_ROUND).appendField(Et.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Et.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_ROUND_NEW_TOOLTIP)}},Se={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Et.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ae={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Et.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Le=Re,Ne=160,De={init:function(){this.setColour(Ne),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Et.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Et.FieldImage(e,12,12,'"')}},fe={init:function(){this.setColour(Ne),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Et.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Et.FieldImage(e,12,12,'"')}};Et.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Fe={init:function(){this.setColour(Ne),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput("",Et.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Et.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Et.FieldImage(e,7,12,'"')}},Pe={init:function(){this.setColour(Ne),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Et.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ve={init:function(){this.setColour(Ne),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ye={init:function(){this.setColour(Ne),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Xe={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},xe={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ye={init:function(){this.WHERE_OPTIONS=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.TEXT_GET_INDEX_RANDOM+1+Et.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.LISTS_GET_INDEX_GET,"MODE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Et.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Et.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Et.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Et.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Et.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Et.Msg.TEXT_GET_INDEX_RANDOM};return Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Et.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Et.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Et.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ve={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.LISTS_GET_INDEX_FROM_START+"n"+Et.Msg.TEXT_CHARAT2)}},be={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Be={init:function(){this.WHERE_OPTIONS_1=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Et.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Et.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Et.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ge={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Et.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ue={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ne),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},we={init:function(){this.setColour(Ne),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_COMPARETO_HELP)}},ke={init:function(){var t=[[Et.Msg.TEXT_UPPER,"upper"],[Et.Msg.TEXT_TITLE,"title"],[Et.Msg.TEXT_CAPITALIZE,"capitalize"],[Et.Msg.TEXT_SWAPCASE,"swapcase"],[Et.Msg.TEXT_LOWER,"lower"]];this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Et.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Et.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Et.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Et.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Et.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},He={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ne),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Et.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},We={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Et.Msg.MIXLY_MID+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Et.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ke={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Je={init:function(){this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Et.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},qe={init:function(){this.setColour(Ne),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Et.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Et.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ze={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ne),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Et.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Et.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Et.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Et.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Qe={init:function(){this.setColour(Ne),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Et.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ki={init:function(){this.setColour(Hi),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ji={init:function(){this.setColour(Hi),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qi={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},zi={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_TOOLTIP)}},Qi={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Hi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Zi={init:function(){this.setColour(Hi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_DELETE_TOOLTIP)}},$i={init:function(){this.setColour(Hi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Et.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Et.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MID),this.setTooltip(Et.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_CLEAR),this.setTooltip(Et.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},en={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},nn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},sn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},_n={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_DELDICT),this.setTooltip(Et.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.MODE=[[Et.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Et.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Et.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Et.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Et.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Et.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},pn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setTooltip(Et.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},an={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_SETDEFAULT_TOOLTIP)}},un={init:function(){this.setColour(Hi),this.appendDummyInput("").appendField(new Et.FieldLabel(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Et.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},rn={init:function(){this.setColour(Hi),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},ln={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(Hi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},In=210,Tn={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Et.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Et.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},hn={init:function(){var t=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Et.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Mn={init:function(){var t=[[Et.Msg.LOGIC_OPERATION_AND,"AND"],[Et.Msg.LOGIC_OPERATION_OR,"OR"],[Et.Msg.LOGIC_OPERATION_NOR,"NOR"],[Et.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Et.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Et.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},mn={init:function(){this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},On={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},En={init:function(){this.setColour(In),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Rn={init:function(){this.setColour(In),this.appendValueInput("A"),this.appendValueInput("B").appendField(Et.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Et.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},cn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(In),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Et.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Et.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.IN)}},gn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(In),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Cn={init:function(){this.setColour(In),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Sn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Et.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Et.Msg.MIXLY_BELONG;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ln={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Et.Msg.MIXLY_BELONG,o=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXPY_TEXT_ENCODE).appendField(new Et.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Et.Msg.MIXLY_BELONG,o=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Dn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MICROBIT_PYTHON_TYPE)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.HTML_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},xn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Gn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Un={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Et.Msg.MIXLY_ESP32_SET+{mkdir:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Et.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.HTML_FILE,"isfile"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Et.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Et.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Jn={};Jn.NAME_TYPE=Et.PROCEDURE_CATEGORY_NAME,Jn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ks={init:function(){this.setColour(ys),this.appendDummyInput().appendField(Et.Msg.HTML_FORM_CONTENT).appendField(new Et.FieldDropdown([[Et.Msg.HTML_TEXT,"text"],[Et.Msg.HTML_EMAIL,"email"],[Et.Msg.HTML_NUMBER,"number"],[Et.Msg.HTML_PASSWORD,"password"],[Et.Msg.HTML_CHECKBOX,"checkbox"],[Et.Msg.HTML_RADIOBUTTON,"radiobutton"],[Et.Msg.HTML_BUTTON,"button"],[Et.Msg.HTML_COLOUR,"colour"],[Et.Msg.HTML_DATE,"date"],[Et.Msg.HTML_LOCALTIME,"local time"],[Et.Msg.HTML_FILE,"file"],[Et.Msg.HTML_HIDDEN,"hidden"],[Et.Msg.HTML_IMAGE,"image"],[Et.Msg.HTML_MONTH,"month"],[Et.Msg.HTML_RANGE,"range"],[Et.Msg.HTML_RESET,"reset"],[Et.Msg.HTML_SEARCH,"search"],[Et.Msg.HTML_SUBMIT,"submit"],[Et.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Et.Msg.HTML_TIME,"time"],[Et.Msg.HTML_URL,"url"],[Et.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Et.Msg.HTML_NAME).appendField(new Et.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Et.Msg.HTML_VALUE).appendField(new Et.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(ys),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws={init:function(){this.setColour(ys),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ks={init:function(){this.setColour(ys),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Js=160,qs={init:function(){this.setColour(Js),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},zs={init:function(){this.setColour(Js),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},Qs={init:function(){this.setColour(Js),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},js={init:function(){this.setColour(Js),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Zs={init:function(){this.setColour(Js),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},$s={init:function(){this.setColour(Js),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},t_={init:function(){this.setColour(Js),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Et.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Et.isNumber(n)&&Et.isNumber(s)&&Et.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const bp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Bp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Gp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Up=function(t,e){return["None",e.ORDER_ATOMIC]},wp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},kp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Hp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Kp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},qp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},zp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Qp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},jp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Zp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$p=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},na=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_a=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},pa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},aa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ua=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},la=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},da=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ia=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ta=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ha=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Et.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Za=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},$a=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},tu=function(t,e){return'"},eu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},iu=function(){return this.getFieldValue("TEXT")+"\n"},nu=function(t){return t.getFieldValue("TEXT")+"\n"},su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},_u=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},ou=function(){return""},pu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},au=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+_.join("")+o.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+o.join("\n")},ru.scrubNakedValue=function(t){return t+"\n"},ru.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},ru.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},ru.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Et.utils.string.wrap(_,ru.COMMENT_WRAP-3),n+=ru.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const lu="#74A55B",du={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},Iu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Tu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Mu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},mu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ou={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},Eu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ru={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},cu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},gu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Cu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Su={init:function(){this.setColour(lu),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Au={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Lu={init:function(){this.setColour(lu),this.appendValueInput("VAR").appendField("360°"+Et.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SETTING+Et.Msg.blockpy_turtle_rotate+Et.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Nu={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("180°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Du={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("360°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},fu={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("180°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fu={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("360°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Et.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},vu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Et.Msg.MOTOR_N,"ms32006.MOT_N"],[Et.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Yu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Et.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Xu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},xu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},yu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Vu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},bu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Et.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+Et.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},Bu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Et.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Gu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Uu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Et.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Et.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},wu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Et.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Et.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},ku={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Hu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Wu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LISTS_SET_INDEX_SET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_WHITE,"W"],[Et.Msg.COLOUR_RGB_RED,"R"],[Et.Msg.COLOUR_RGB_YELLOW,"Y"],[Et.Msg.COLOUR_RGB_GREEN,"G"],[Et.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_WHITE,"W"],[Et.Msg.COLOUR_RGB_RED,"R"],[Et.Msg.COLOUR_RGB_YELLOW,"Y"],[Et.Msg.COLOUR_RGB_GREEN,"G"],[Et.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},zu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Et.Msg.MIXLY_SPEED,"[1]"],[Et.Msg.MATH_SINGLE_OP_ABSOLUTE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Et.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Et.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Et.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Et.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Et.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MATH_SINGLE_OP_ABSOLUTE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MODE).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPEED+Et.Msg.MIXLY_MODE,"0"],[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Et.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"0"],[Et.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Et.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},$u={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField("("+Et.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MODE).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPEED+Et.Msg.MIXLY_MODE,"0"],[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Et.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},er={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField("("+Et.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MODE).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPEED+Et.Msg.MIXLY_MODE,"0"],[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Et.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"0"],[Et.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ir={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MOTOR,"ext_motor"],[Et.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Et.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Et.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Et.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Et.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Et.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Et.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},nr={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MOTOR,"ext_motor"],[Et.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Et.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Et.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Et.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Et.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Et.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Et.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sr="#6C9858",_r={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},or={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"1"],[Et.Msg.MIXLY_ESP32_OFF,"0"],[Et.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},pr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},ar={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},ur={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},rr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_BUILDIN_LED+Et.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},lr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LCD_SETCOLOR).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LIGHT_RED,"1"],[Et.Msg.MIXLY_LIGHT_GREEN,"2"],[Et.Msg.MIXLY_LIGHT_BLUE,"3"],[Et.Msg.MIXLY_LIGHT_YELLOW,"4"],[Et.Msg.MIXLY_LIGHT_CYAN,"5"],[Et.Msg.MIXLY_LIGHT_PURPLE,"6"],[Et.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},dr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ir={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Tr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},hr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_BUILDIN_LED+Et.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Mr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},mr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Or={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Er={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION).appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.PYTHON_RANGE_STEP).appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},gr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Cr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Sr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.PYTHON_RANGE_STEP).appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ar={init:function(){this.setColour(sr),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Lr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Nr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},Dr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},fr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Fr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pr={init:function(){this.setColour(sr),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},vr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"CW"],[Et.Msg.ANTI_CLOCKWISE,"CCW"],[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(sr),this.appendDummyInput().appendField("MixGo Car").appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},xr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([[Et.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Et.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"CW"],[Et.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([[Et.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Et.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_STOP).appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},br={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Et.Msg.MIXLY_SPEED,"SPEED"],[Et.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Br={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(Et.Msg.MIXLY_MOTOR).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"1"],[Et.Msg.TEXT_TRIM_RIGHT,"2"],[Et.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Et.Msg.MIXLY_SPEED,"SPEED"],[Et.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ur={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.BITBOT).appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.BITBOT).appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.BITBOT).appendField(Et.Msg.MIXLY_MOTOR).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"0"],[Et.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"CW"],[Et.Msg.ANTI_CLOCKWISE,"CCW"],[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(sr),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jr={init:function(){this.setColour(sr),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_MIXBOT_BUZZER+Et.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},qr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_MIXBOT_BUZZER+Et.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(sr),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_RECORD_AUDIO).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Et.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(sr),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_PLAY_AUDIO).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jr={init:function(){this.setColour(sr),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},$r={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tl={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.ME_GO_MOTOR_EXTERN).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.blynk_IOT_IR_POWER+Et.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},el={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.ME_GO_MOTOR_EXTERN).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.blynk_IOT_IR_POWER+Et.Msg.MIXLY_PINMODEOUT+Et.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},il={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.ME_GO_MOTOR_EXTERN).appendField(Et.Msg.MIXLY_ALL+Et.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Et.ALIGN_RIGHT).appendField(Et.Msg.blynk_IOT_IR_POWER+Et.Msg.MIXLY_PINMODEOUT+Et.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},nl={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.ANALOG+Et.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Et.Msg.MIXLY_RELEASE).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.ANALOG+Et.Msg.MIXLY_KEYBOARD_INPUT)}},sl={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SPECIAL_KEY).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPECIAL_KEY0,"0"],[Et.Msg.MIXLY_SPECIAL_KEY1,"1"],[Et.Msg.MIXLY_SPECIAL_KEY2,"2"],[Et.Msg.MIXLY_SPECIAL_KEY1,"4"],[Et.Msg.MIXLY_SPECIAL_KEY8,"8"],[Et.Msg.MIXLY_SPECIAL_KEY16,"16"],[Et.Msg.MIXLY_SPECIAL_KEY32,"32"],[Et.Msg.MIXLY_SPECIAL_KEY64,"64"],[Et.Msg.MIXLY_SPECIAL_KEY128,"128"]]),"op"),this.setOutput(!0)}},_l={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GENERAL_KEY).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPECIAL_KEY0,"0"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1","0x1E"],["2","0x1F"],["3","0x20"],["4","0x21"],["5","0x22"],["6","0x23"],["7","0x24"],["8","0x25"],["9","0x26"],["0","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["-","0x2D"],["=","0x2E"],["{","0x2F"],["}","0x30"],["\\","0x31"],[";","0x33"],['"',"0x34"],["`","0x35"],[",","0x36"],[".","0x37"],["/","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ol={init:function(){this.setColour(sr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Et.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Et.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Am={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Lm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Nm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Dm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PROJECT).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Fm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},Pm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ym={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},xm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},ym={init:function(){this.setColour(Om),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Vm={init:function(){this.setColour(Om),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},bm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Bm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Et.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Gm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+Et.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Um={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wm={init:function(){this.VISITOR_ID=Rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Om),this.appendDummyInput("").appendField(new Et.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},km={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Hm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Et.Msg.MIXLY_REQUESTS_GET).appendField(Et.Msg.MIXLY_GET_CURRENT_TIME).appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Km={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Et.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Et.Msg.MQTT_Topic).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qm=Em,zm=Rm,Qm=cm,jm=gm,Zm=Sm,$m=225,tO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Et.Msg.MIXLY_NETWORK_MODE).appendField(new Et.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},eO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Et.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Et.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Et.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Et.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},iO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},nO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Et.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},sO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},_O={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT+Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},oO={init:function(){this.setColour($m),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},pO={init:function(){this.setColour($m),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},aO={init:function(){this.setColour($m),this.appendValueInput("url").appendField(Et.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},uO={init:function(){this.setColour($m),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},rO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Et.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Et.Msg.MIXLY_ESP32_NETWORK_IP,1:Et.Msg.MIXLY_ESP32_NETWORK_MASK,2:Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},lO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},dO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},IO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(Et.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},TO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},hO={init:function(){this.setColour($m),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},MO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},mO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},OO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},EO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},RO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},cO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},gO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},CO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},SO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AO={init:function(){this.setColour($m),this.appendValueInput("DOMAIN").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS_GET).appendField(new Et.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},LO={init:function(){this.appendValueInput("VAL");var t=[[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour($m),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Et.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Et.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Et.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},NO={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour($m),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},DO={init:function(){this.setColour($m),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Et.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},fO={init:function(){this.setColour($m),this.appendDummyInput("").appendField(new Et.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},FO="#A58C5B",PO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SENOR_IS_PRESSED)}},vO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SENOR_WAS_PRESSED)}},YO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_BUTTON+Et.Msg.MIXLY_GET_PRESSES)}},XO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_shake,"shake"],[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"],[Et.Msg.MIXLY_MICROBIT_face_up,"face up"],[Et.Msg.MIXLY_MICROBIT_face_down,"face down"],[Et.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Et.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Et.Msg.MSG.catSensor,s=Et.Msg.MIXLY_MICROBIT_JS_STATE,_=Et.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Et.Msg.MIXLY_MICROBIT_shake,up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT,"face up":Et.Msg.MIXLY_MICROBIT_face_up,"face down":Et.Msg.MIXLY_MICROBIT_face_down,freefall:Et.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},yO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},VO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},bO={init:function(){var t=[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(FO),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},BO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},GO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},UO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"left"],[Et.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Et.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Et.Msg.MIXLY_ESP32_NEAR;return i+{left:Et.Msg.TEXT_TRIM_LEFT,right:Et.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},wO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Et.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},kO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Et.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},HO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},WO={init:function(){this.setColour(FO),this.appendDummyInput("").appendField("LM35"+Et.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LM35)}},KO={init:function(){this.setColour(FO),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},JO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Et.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Et.Msg.MIXLY_ESP32_MAX30102_IR+","+Et.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Et.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Et.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},QO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.HTML_COLOUR+Et.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET+Et.Msg.HTML_COLOUR,"[2]"],[Et.Msg.MIXLY_GET+Et.Msg.MIXLY_IR_STRENGTH,"[1]"],[Et.Msg.MIXLY_GET+Et.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Et.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$O={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},tE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},eE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_Altitude+Et.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETPRESSURE,"pressure()"],[Et.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Et.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},iE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MIXGOPE_FIELD+Et.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Et.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_shake,"shake"],[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"],[Et.Msg.MIXLY_MICROBIT_face_up,"face up"],[Et.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Et.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Et.Msg.MSG.catSensor,s=Et.Msg.MIXLY_MICROBIT_JS_STATE,_=Et.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Et.Msg.MIXLY_MICROBIT_shake,up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT,"face up":Et.Msg.MIXLY_MICROBIT_face_up,"face down":Et.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},sE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_E={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET+Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},pE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},aE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_GETTEMPERATUE)}},uE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Et.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},rE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},lE={init:function(){this.setColour(FO),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},dE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Et.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},IE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},TE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},hE={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ME={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Et.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},mE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RFID_SCAN_OK,"0"],[Et.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Et.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},OE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},EE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},RE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+",font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},sN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},_N=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},oN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},aN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},rN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},lN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},dN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},IN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},TN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},hN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},MN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},mN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ON=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},RN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},cN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},gN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+","+a+")\n"}},CN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},SN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},AN=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},LN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},NN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},DN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},fN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},FN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},PN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},vN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"("+s+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"("+s+")\n"),i},YN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},XN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},xN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},yN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},VN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+o+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},bN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+_+",size = "+o+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+_+",size = "+o+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},BN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},GN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},UN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+_+",color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+_+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},wN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},kN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},HN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},WN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+_+")\n"},KN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},JN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},zN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},QN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=Rt.Boards.getSelectedBoardKey().split(":")[2],o="";return o=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_zero"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+o+")\n"},jN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},$N=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},tD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},eD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},iD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},nD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},sD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},_D=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},oD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},pD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},aD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},uD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},rD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},lD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},dD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ID=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+_+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+_+")\n")},TD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},hD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},MD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},mD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},OD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},ED=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},RD=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},$D=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},tf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+_+",color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+_+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},ef=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},nf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},sf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},_f=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==o.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},of=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},pf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},af=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},uf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},rf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var o="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return o},lf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},df=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},If=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},Tf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+","+s+","+_+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+","+s+","+_+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},hf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Mf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},mf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Of=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Ef=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==o.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+","+p+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},Rf=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},cf=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},gf=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},TX=function(){return"control.reset()\n"},hX=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+")\n"},MX=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+")\n"},mX=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},OX=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},EX=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},RX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},cX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},gX=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},CX=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},SX=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},AX=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},LX=function(){return"while True:\n pass\n"},NX=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},DX=function(t,e){return e.definitions_.import_os="import os","os.uname()"},fX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},FX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},PX=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},vX=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},YX=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},XX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},xX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},yX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},VX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},bX=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},BX=XX,GX=vX,UX=YX,wX=fX,kX=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},HX=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},WX=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KX={};KX["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:Rt.Profile.generate(["0-10","18"]),input_pin:Rt.Profile.generate(["0-10","18"]),output_pin:Rt.Profile.generate(["0-10","18"]),pwm_input:Rt.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Rt.Profile.generate(["0-4"],"adc","adc"),pwm_output:Rt.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Rt.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Rt.Profile.generate(["1-13"]),haskylens_model:Rt.Profile.generate(["0-4"]),digital:Rt.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Rt.Profile.generate(["0-10","18"]),pwm:Rt.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Rt.Profile.generate(["0-4"]),analog:Rt.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Rt.Profile.generate(["0-4"]),exlcdh:Rt.Profile.generate(["0-11"]),exlcdv:Rt.Profile.generate(["0-7"]),brightness:Rt.Profile.generate(["0-9"]),tts_voice:Rt.Profile.generate(["0-16"]),tts_builtin_music:Rt.Profile.generate(["0-47"]),tts_bgmusic:Rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},KX["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Rt.Profile.generate(["0-11","18-21"]),input_pin:Rt.Profile.generate(["0-11","18-21"]),output_pin:Rt.Profile.generate(["0-11","18-21"]),pwm_input:Rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Rt.Profile.generate(["0-5"],"adc","adc"),pwm_output:Rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Rt.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Rt.Profile.generate(["1-13"]),haskylens_model:Rt.Profile.generate(["0-4"]),digital:Rt.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Rt.Profile.generate(["0-11","18-21"]),pwm:Rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Rt.Profile.generate(["0-5"]),analog:Rt.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Rt.Profile.generate(["0-4"]),exlcdh:Rt.Profile.generate(["0-31"]),exlcdv:Rt.Profile.generate(["0-11"]),brightness:Rt.Profile.generate(["0-9"]),tts_voice:Rt.Profile.generate(["0-16"]),tts_builtin_music:Rt.Profile.generate(["0-47"]),tts_bgmusic:Rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const JX=KX,qX=20,zX={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_HIGH,"HIGH"],[Et.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},QX={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},jX={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},ZX={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField("PWM"+Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},$X={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField("DAC"+Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},tx={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_mSecond,"period"],[Et.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},ex={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField("PWM"+Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_FREQUENCY+Et.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},ix={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},nx={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_REF_VOLTAGE+Et.Msg.MIXLY_STAT).appendField(new Et.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},sx={init:function(){this.setColour(qX),this.appendValueInput("pin").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},_x={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ox={init:function(){this.setColour(20),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_AS).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Et.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Et.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Et.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},px={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("pwm#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+Et.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ax={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("dac#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Et.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ux={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("adc#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Et.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},rx={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("tc#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},lx=ox,dx=ex,Ix=rx,Tx=sx,hx=_x,Mx=40,mx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput("").appendField(t).appendField(Et.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ox={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput("").appendField(t).appendField(Et.Msg.MIXLY_Altitude+Et.Msg.MSG.catSensor+" HP203X").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETPRESSURE,"pressure()"],[Et.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Et.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ex={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},cx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},gx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Et.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Sx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RFID_SCAN_OK,"True"],[Et.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[Et.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ax=100,Lx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXGO_LEFT_FRONT+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[Et.Msg.MIXGO_RIGHT_FRONT+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[Et.Msg.MIXGO_LEFT_BACK+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[Et.Msg.MIXGO_RIGHT_BACK+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[Et.Msg.MIXGO_LEFT_FRONT+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[Et.Msg.MIXGO_RIGHT_FRONT+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[Et.Msg.MIXGO_LEFT_BACK+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[Et.Msg.MIXGO_RIGHT_BACK+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[Et.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},Nx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Dx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},fx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Fx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_BUILDIN_LED+Et.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Px={init:function(){this.setColour(Ax),this.appendDummyInput().appendField("ME GO").appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField("ME GO").appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField("ME GO").appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([[Et.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[Et.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[Et.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.ROTATION_FORWARD,"CW"],[Et.Msg.ROTATION_BACKWARD,"CCW"],[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_INTERRUPT).appendField(Et.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"A"],[Et.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"A"],[Et.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new Et.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"A"],[Et.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new Et.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Vx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"[0]"],[Et.Msg.MIXGO_LEFT_MID,"[1]"],[Et.Msg.MIXGO_RIGHT_MID,"[2]"],[Et.Msg.TEXT_TRIM_RIGHT,"[3]"],[Et.Msg.MIXLY_ALL,""]]),"key").appendField(Et.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Et.Msg.MIXLY_ESP32_NEAR}))}},bx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXGO_LEFT_FRONT,"[0]"],[Et.Msg.MIXGO_RIGHT_FRONT,"[1]"],[Et.Msg.MIXGO_LEFT_BACK,"[3]"],[Et.Msg.MIXGO_RIGHT_BACK,"[2]"],[Et.Msg.MIXLY_ALL,""]]),"key").appendField(Et.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Et.Msg.MIXLY_ESP32_NEAR}))}},Bx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[Et.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[Et.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[Et.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[Et.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_GESTURE).appendField(new Et.FieldDropdown([[Et.Msg.ME_GO_PITCH,"[0]"],[Et.Msg.ME_GO_ROLL,"[1]"],[Et.Msg.ME_GO_PITCH+", "+Et.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ux={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"[0]"],[Et.Msg.MIXGO_LEFT_MID,"[1]"],[Et.Msg.MIXGO_RIGHT_MID,"[2]"],[Et.Msg.TEXT_TRIM_RIGHT,"[3]"],[Et.Msg.MIXLY_ALL,""]]),"key").appendField(Et.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Et.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},wx=230,kx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Hx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},zx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Qx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},jx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Zx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},$x={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ty={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},ey={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},iy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},ny={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},sy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},_y={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},oy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},py={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},ay={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},uy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},ry={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},ly={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},dy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Iy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Ty={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},hy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},My={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},my={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Oy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Ey={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Ry={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},cy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},gy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Cy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Sy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Ay={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ly={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Ny={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Dy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},fy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Fy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Py={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},vy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Yy=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},Xy=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},xy=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},yy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Vy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},by=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},By=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Gy=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Uy=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},wy=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},ky=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Hy=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},Wy=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ky=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},Jy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},qy=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},zy=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},Qy=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,e.ORDER_ATOMIC]},jy=function(t,e){e.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",e.ORDER_ATOMIC]},Zy=function(t,e){if(e.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Rt.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{e.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,e.ORDER_ATOMIC]},$y=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},tV=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},eV=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},iV=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},nV=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},sV=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},_V=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",e.ORDER_ATOMIC]},oV=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",e.ORDER_ATOMIC]},pV=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},aV=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)+")\n"},uV=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},rV=function(t,e){var i=this.getFieldValue("wheel");e.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},lV=function(t,e){var i=this.getFieldValue("mode");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+")\n"},dV=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=e.valueToCode(this,"num",e.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},IV=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,e.ORDER_ATOMIC]},TV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,e.ORDER_ATOMIC]},hV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,e.ORDER_ATOMIC]},MV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},mV=function(t,e){return e.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},OV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,e.ORDER_ATOMIC]},EV=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},RV=EV,cV=EV,gV=EV,CV=EV,SV=EV,AV=EV,LV=EV,NV=EV,DV=EV,fV=EV,FV=EV,PV=EV,vV=EV,YV=EV,XV=EV,xV=EV,yV=EV,VV=EV,bV=EV,BV=EV,GV=EV,UV=EV,wV=EV,kV=EV,HV=EV,WV=EV,KV=EV,JV=EV,qV=EV,zV=EV,QV=EV,jV=EV,ZV=EV,$V=EV,tb=EV,eb=EV,ib=EV,nb=EV,sb=EV,_b=EV,ob=EV,pb=EV,ab=EV,ub=EV;Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,qn),Et.Python=ru,Et.generator=ru,Rt.Profile.default={},Object.assign(Rt.Profile,JX),Object.assign(Rt.Profile.default,JX["MixGo CC"]),Object.assign(Et.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,b,H,k,X,B,W,f,w,U,G,F,D,N,y,x,V,P,v,Y,lt,dt,It,Tt),Object.assign(Et.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,nt,ut,at,$,st,rt,q,pt,ot,_t,z,J,K,et,tt,it,Q,j,Z,ht,Mt,mt,Ot)})(); \ No newline at end of file +class Ct{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(vt),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Bt={init:function(){this.setColour(vt),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Et.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gt={init:function(){this.setColour(vt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Ut={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},wt={init:function(){this.setColour(vt);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},kt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Gt.OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],wt.OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Wt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},qt={init:function(){this.setColour(vt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},zt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Qt={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},jt={init:function(){this.jsonInit({message0:Et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:vt,tooltip:Et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Zt={init:function(){this.setColour(vt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},te={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ee={init:function(){this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Et.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Et.FieldDropdown([[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(vt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ie={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ne={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},se={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},_e={init:function(){this.setColour(vt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe=230;Et.FieldTextInput.math_number_validator=function(t){return String(t)},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const pe={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},re={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Ie={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Te={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Et.Msg.MATH_DEC_TOOLTIP_BIN,oct:Et.Msg.MATH_DEC_TOOLTIP_OCT,hex:Et.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},me={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},Re={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ce={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},ge={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ce={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MATH_ROUND).appendField(Et.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Et.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_ROUND_NEW_TOOLTIP)}},Se={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Et.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ae={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Et.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Le=Re,Ne=160,De={init:function(){this.setColour(Ne),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Et.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Et.FieldImage(e,12,12,'"')}},fe={init:function(){this.setColour(Ne),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Et.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Et.FieldImage(e,12,12,'"')}};Et.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Fe={init:function(){this.setColour(Ne),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput("",Et.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Et.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Et.FieldImage(e,7,12,'"')}},Pe={init:function(){this.setColour(Ne),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Et.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ve={init:function(){this.setColour(Ne),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ye={init:function(){this.setColour(Ne),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Xe={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},xe={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ye={init:function(){this.WHERE_OPTIONS=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.TEXT_GET_INDEX_RANDOM+1+Et.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.LISTS_GET_INDEX_GET,"MODE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Et.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Et.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Et.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Et.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Et.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Et.Msg.TEXT_GET_INDEX_RANDOM};return Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Et.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Et.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Et.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ve={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.LISTS_GET_INDEX_FROM_START+"n"+Et.Msg.TEXT_CHARAT2)}},be={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Be={init:function(){this.WHERE_OPTIONS_1=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Et.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Et.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Et.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ge={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Et.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ue={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ne),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},we={init:function(){this.setColour(Ne),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_COMPARETO_HELP)}},ke={init:function(){var t=[[Et.Msg.TEXT_UPPER,"upper"],[Et.Msg.TEXT_TITLE,"title"],[Et.Msg.TEXT_CAPITALIZE,"capitalize"],[Et.Msg.TEXT_SWAPCASE,"swapcase"],[Et.Msg.TEXT_LOWER,"lower"]];this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Et.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Et.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Et.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Et.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Et.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},He={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ne),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Et.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},We={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Et.Msg.MIXLY_MID+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Et.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ke={init:function(){this.setColour(Ne),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Je={init:function(){this.setColour(Ne),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Et.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},qe={init:function(){this.setColour(Ne),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Et.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Et.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ze={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ne),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Et.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Et.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Et.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Et.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Qe={init:function(){this.setColour(Ne),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Et.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ki={init:function(){this.setColour(Hi),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ji={init:function(){this.setColour(Hi),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qi={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},zi={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_TOOLTIP)}},Qi={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Hi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Zi={init:function(){this.setColour(Hi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_DELETE_TOOLTIP)}},$i={init:function(){this.setColour(Hi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Et.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Et.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MID),this.setTooltip(Et.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_CLEAR),this.setTooltip(Et.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},en={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},nn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},sn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},_n={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_DELDICT),this.setTooltip(Et.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.MODE=[[Et.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Et.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Et.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Et.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Et.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Et.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},pn={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setTooltip(Et.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},an={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_SETDEFAULT_TOOLTIP)}},un={init:function(){this.setColour(Hi),this.appendDummyInput("").appendField(new Et.FieldLabel(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Et.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},rn={init:function(){this.setColour(Hi),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},ln={init:function(){this.setColour(Hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(Hi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},In=210,Tn={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Et.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Et.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},hn={init:function(){var t=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Et.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Mn={init:function(){var t=[[Et.Msg.LOGIC_OPERATION_AND,"AND"],[Et.Msg.LOGIC_OPERATION_OR,"OR"],[Et.Msg.LOGIC_OPERATION_NOR,"NOR"],[Et.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Et.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Et.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},mn={init:function(){this.setColour(In),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},On={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(In),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},En={init:function(){this.setColour(In),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Rn={init:function(){this.setColour(In),this.appendValueInput("A"),this.appendValueInput("B").appendField(Et.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Et.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},cn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(In),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Et.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Et.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.IN)}},gn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(In),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Cn={init:function(){this.setColour(In),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Sn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Et.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Et.Msg.MIXLY_BELONG;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ln={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Et.Msg.MIXLY_BELONG,o=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXPY_TEXT_ENCODE).appendField(new Et.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Et.Msg.MIXLY_BELONG,o=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Dn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MICROBIT_PYTHON_TYPE)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.HTML_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},xn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Gn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Un={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Et.Msg.MIXLY_ESP32_SET+{mkdir:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Et.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.HTML_FILE,"isfile"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Et.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Et.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Jn={};Jn.NAME_TYPE=Et.PROCEDURE_CATEGORY_NAME,Jn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ks={init:function(){this.setColour(ys),this.appendDummyInput().appendField(Et.Msg.HTML_FORM_CONTENT).appendField(new Et.FieldDropdown([[Et.Msg.HTML_TEXT,"text"],[Et.Msg.HTML_EMAIL,"email"],[Et.Msg.HTML_NUMBER,"number"],[Et.Msg.HTML_PASSWORD,"password"],[Et.Msg.HTML_CHECKBOX,"checkbox"],[Et.Msg.HTML_RADIOBUTTON,"radiobutton"],[Et.Msg.HTML_BUTTON,"button"],[Et.Msg.HTML_COLOUR,"colour"],[Et.Msg.HTML_DATE,"date"],[Et.Msg.HTML_LOCALTIME,"local time"],[Et.Msg.HTML_FILE,"file"],[Et.Msg.HTML_HIDDEN,"hidden"],[Et.Msg.HTML_IMAGE,"image"],[Et.Msg.HTML_MONTH,"month"],[Et.Msg.HTML_RANGE,"range"],[Et.Msg.HTML_RESET,"reset"],[Et.Msg.HTML_SEARCH,"search"],[Et.Msg.HTML_SUBMIT,"submit"],[Et.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Et.Msg.HTML_TIME,"time"],[Et.Msg.HTML_URL,"url"],[Et.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Et.Msg.HTML_NAME).appendField(new Et.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Et.Msg.HTML_VALUE).appendField(new Et.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(ys),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws={init:function(){this.setColour(ys),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ks={init:function(){this.setColour(ys),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Js=160,qs={init:function(){this.setColour(Js),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},zs={init:function(){this.setColour(Js),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},Qs={init:function(){this.setColour(Js),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},js={init:function(){this.setColour(Js),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Zs={init:function(){this.setColour(Js),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},$s={init:function(){this.setColour(Js),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},t_={init:function(){this.setColour(Js),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Et.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Et.isNumber(n)&&Et.isNumber(s)&&Et.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const bp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Bp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Gp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Up=function(t,e){return["None",e.ORDER_ATOMIC]},wp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},kp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Hp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Kp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},qp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},zp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Qp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},jp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Zp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$p=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},na=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_a=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},pa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},aa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ua=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},la=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},da=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ia=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ta=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ha=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Et.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Za=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},$a=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},tu=function(t,e){return'"},eu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},iu=function(){return this.getFieldValue("TEXT")+"\n"},nu=function(t){return t.getFieldValue("TEXT")+"\n"},su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},_u=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},ou=function(){return""},pu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},au=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+_.join("")+o.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+o.join("\n")},ru.scrubNakedValue=function(t){return t+"\n"},ru.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},ru.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},ru.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Et.utils.string.wrap(_,ru.COMMENT_WRAP-3),n+=ru.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const lu="#74A55B",du={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},Iu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Tu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Mu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},mu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ou={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},Eu={init:function(){this.setColour(lu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ru={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},cu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},gu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Cu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Su={init:function(){this.setColour(lu),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Au={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Lu={init:function(){this.setColour(lu),this.appendValueInput("VAR").appendField("360°"+Et.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SETTING+Et.Msg.blockpy_turtle_rotate+Et.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Nu={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("180°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Du={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("360°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},fu={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("180°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fu={init:function(){this.setColour(lu),this.appendValueInput("PIN",Number).appendField("360°"+Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Et.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},vu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Et.Msg.MOTOR_N,"ms32006.MOT_N"],[Et.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Yu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Et.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Xu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},xu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},yu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Vu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},bu={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Et.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+Et.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},Bu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Et.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Gu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Uu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Et.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Et.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},wu={init:function(){this.setColour(lu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Et.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Et.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},ku={init:function(){this.setColour(lu),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Hu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Wu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LISTS_SET_INDEX_SET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Et.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_WHITE,"W"],[Et.Msg.COLOUR_RGB_RED,"R"],[Et.Msg.COLOUR_RGB_YELLOW,"Y"],[Et.Msg.COLOUR_RGB_GREEN,"G"],[Et.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_WHITE,"W"],[Et.Msg.COLOUR_RGB_RED,"R"],[Et.Msg.COLOUR_RGB_YELLOW,"Y"],[Et.Msg.COLOUR_RGB_GREEN,"G"],[Et.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},zu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Et.Msg.MIXLY_SPEED,"[1]"],[Et.Msg.MATH_SINGLE_OP_ABSOLUTE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Et.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Et.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Et.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Et.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Et.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MATH_SINGLE_OP_ABSOLUTE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MODE).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPEED+Et.Msg.MIXLY_MODE,"0"],[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Et.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"0"],[Et.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Et.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},$u={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField("("+Et.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MODE).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPEED+Et.Msg.MIXLY_MODE,"0"],[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Et.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},er={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.ME_GO_MOTOR_EXTERN+Et.Msg.MIXLY_SERVO_MOTOR).appendField(Et.Msg.MIXLY_RELATIVE+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Et.Msg.MSG.run).appendField("("+Et.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LEFT,"0"],[Et.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MODE).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPEED+Et.Msg.MIXLY_MODE,"0"],[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Et.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"0"],[Et.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ir={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MOTOR,"ext_motor"],[Et.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Et.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Et.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Et.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Et.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Et.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Et.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},nr={init:function(){this.setColour(lu),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(Et.Msg.ME_GO_MOTOR_EXTERN).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MOTOR,"ext_motor"],[Et.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Et.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Et.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Et.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Et.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Et.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Et.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sr="#6C9858",_r={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},or={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"1"],[Et.Msg.MIXLY_ESP32_OFF,"0"],[Et.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},pr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},ar={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},ur={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},rr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_BUILDIN_LED+Et.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},lr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LCD_SETCOLOR).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LIGHT_RED,"1"],[Et.Msg.MIXLY_LIGHT_GREEN,"2"],[Et.Msg.MIXLY_LIGHT_BLUE,"3"],[Et.Msg.MIXLY_LIGHT_YELLOW,"4"],[Et.Msg.MIXLY_LIGHT_CYAN,"5"],[Et.Msg.MIXLY_LIGHT_PURPLE,"6"],[Et.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},dr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ir={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Tr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},hr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_BUILDIN_LED).appendField(new Et.FieldDropdown([[Et.Msg.COLOUR_RGB_RED,"r"],[Et.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_BUILDIN_LED+Et.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Mr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},mr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Or={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Er={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION).appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.PYTHON_RANGE_STEP).appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},gr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Cr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Sr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.PYTHON_RANGE_STEP).appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ar={init:function(){this.setColour(sr),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Lr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Nr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},Dr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},fr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Fr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pr={init:function(){this.setColour(sr),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},vr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"CW"],[Et.Msg.ANTI_CLOCKWISE,"CCW"],[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(sr),this.appendDummyInput().appendField("MixGo Car").appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(sr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},xr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([[Et.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Et.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"CW"],[Et.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([[Et.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Et.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_STOP).appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},br={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Et.Msg.MIXLY_SPEED,"SPEED"],[Et.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Br={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXBOT).appendField(Et.Msg.MIXLY_MOTOR).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"1"],[Et.Msg.TEXT_TRIM_RIGHT,"2"],[Et.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Et.Msg.MIXLY_SPEED,"SPEED"],[Et.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ur={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.BITBOT).appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.BITBOT).appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.BITBOT).appendField(Et.Msg.MIXLY_MOTOR).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"0"],[Et.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"CW"],[Et.Msg.ANTI_CLOCKWISE,"CCW"],[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(sr),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jr={init:function(){this.setColour(sr),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_MIXBOT_BUZZER+Et.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},qr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_MIXBOT_BUZZER+Et.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(sr),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_RECORD_AUDIO).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Et.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(sr),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_PLAY_AUDIO).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jr={init:function(){this.setColour(sr),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},$r={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tl={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.ME_GO_MOTOR_EXTERN).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.blynk_IOT_IR_POWER+Et.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},el={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.ME_GO_MOTOR_EXTERN).appendField(Et.Msg.PIN_NUMBERING).appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.blynk_IOT_IR_POWER+Et.Msg.MIXLY_PINMODEOUT+Et.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},il={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.ME_GO_MOTOR_EXTERN).appendField(Et.Msg.MIXLY_ALL+Et.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Et.ALIGN_RIGHT).appendField(Et.Msg.blynk_IOT_IR_POWER+Et.Msg.MIXLY_PINMODEOUT+Et.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},nl={init:function(){this.setColour(sr),this.appendDummyInput().appendField(Et.Msg.ANALOG+Et.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Et.Msg.MIXLY_RELEASE).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.ANALOG+Et.Msg.MIXLY_KEYBOARD_INPUT)}},sl={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SPECIAL_KEY).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Et.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Et.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Et.Msg.MIXLY_SPECIAL_KEY1,"0x04"],[Et.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Et.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Et.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Et.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Et.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},_l={init:function(){this.setColour(sr),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GENERAL_KEY).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ol={init:function(){this.setColour(sr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Et.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Et.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Am={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Lm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Nm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Dm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PROJECT).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Fm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},Pm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ym={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},xm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},ym={init:function(){this.setColour(Om),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Vm={init:function(){this.setColour(Om),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},bm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Bm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Et.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Gm={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+Et.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Um={init:function(){this.setColour(Om),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wm={init:function(){this.VISITOR_ID=Rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Om),this.appendDummyInput("").appendField(new Et.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},km={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Hm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Et.Msg.MIXLY_REQUESTS_GET).appendField(Et.Msg.MIXLY_GET_CURRENT_TIME).appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Km={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Et.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Et.Msg.MQTT_Topic).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jm={init:function(){this.setColour(Om),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qm=Em,zm=Rm,Qm=cm,jm=gm,Zm=Sm,$m=225,tO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Et.Msg.MIXLY_NETWORK_MODE).appendField(new Et.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},eO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Et.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Et.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Et.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Et.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},iO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},nO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Et.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},sO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},_O={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT+Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},oO={init:function(){this.setColour($m),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},pO={init:function(){this.setColour($m),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},aO={init:function(){this.setColour($m),this.appendValueInput("url").appendField(Et.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},uO={init:function(){this.setColour($m),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},rO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Et.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Et.Msg.MIXLY_ESP32_NETWORK_IP,1:Et.Msg.MIXLY_ESP32_NETWORK_MASK,2:Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},lO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},dO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},IO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(Et.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},TO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},hO={init:function(){this.setColour($m),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},MO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},mO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},OO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},EO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},RO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},cO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},gO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},CO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},SO={init:function(){this.setColour($m),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AO={init:function(){this.setColour($m),this.appendValueInput("DOMAIN").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS_GET).appendField(new Et.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},LO={init:function(){this.appendValueInput("VAL");var t=[[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour($m),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Et.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Et.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Et.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},NO={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour($m),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},DO={init:function(){this.setColour($m),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Et.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},fO={init:function(){this.setColour($m),this.appendDummyInput("").appendField(new Et.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},FO="#A58C5B",PO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SENOR_IS_PRESSED)}},vO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SENOR_WAS_PRESSED)}},YO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_BUTTON+Et.Msg.MIXLY_GET_PRESSES)}},XO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_BUTTON).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_shake,"shake"],[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"],[Et.Msg.MIXLY_MICROBIT_face_up,"face up"],[Et.Msg.MIXLY_MICROBIT_face_down,"face down"],[Et.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Et.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Et.Msg.MSG.catSensor,s=Et.Msg.MIXLY_MICROBIT_JS_STATE,_=Et.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Et.Msg.MIXLY_MICROBIT_shake,up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT,"face up":Et.Msg.MIXLY_MICROBIT_face_up,"face down":Et.Msg.MIXLY_MICROBIT_face_down,freefall:Et.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},yO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},VO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},bO={init:function(){var t=[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(FO),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},BO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},GO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},UO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"left"],[Et.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Et.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Et.Msg.MIXLY_ESP32_NEAR;return i+{left:Et.Msg.TEXT_TRIM_LEFT,right:Et.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},wO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Et.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},kO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Et.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},HO={init:function(){this.setColour(FO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},WO={init:function(){this.setColour(FO),this.appendDummyInput("").appendField("LM35"+Et.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LM35)}},KO={init:function(){this.setColour(FO),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},JO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Et.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Et.Msg.MIXLY_ESP32_MAX30102_IR+","+Et.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Et.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Et.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},QO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.HTML_COLOUR+Et.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET+Et.Msg.HTML_COLOUR,"[2]"],[Et.Msg.MIXLY_GET+Et.Msg.MIXLY_IR_STRENGTH,"[1]"],[Et.Msg.MIXLY_GET+Et.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jO={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Et.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZO={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$O={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},tE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},eE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_Altitude+Et.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETPRESSURE,"pressure()"],[Et.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Et.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},iE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MIXGOPE_FIELD+Et.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Et.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_shake,"shake"],[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"],[Et.Msg.MIXLY_MICROBIT_face_up,"face up"],[Et.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Et.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Et.Msg.MSG.catSensor,s=Et.Msg.MIXLY_MICROBIT_JS_STATE,_=Et.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Et.Msg.MIXLY_MICROBIT_shake,up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT,"face up":Et.Msg.MIXLY_MICROBIT_face_up,"face down":Et.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},sE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_E={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET+Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},pE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},aE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_GETTEMPERATUE)}},uE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Et.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},rE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},lE={init:function(){this.setColour(FO),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},dE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Et.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},IE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},TE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},hE={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ME={init:function(){this.setColour(FO),this.appendDummyInput().appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Et.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},mE={init:function(){this.setColour(FO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RFID_SCAN_OK,"0"],[Et.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Et.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},OE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},EE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},RE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cE={init:function(){this.setColour(FO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+",font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},sN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},_N=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},oN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},aN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},rN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},lN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},dN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},IN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},TN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},hN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},MN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},mN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ON=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},RN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},cN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},gN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+","+a+")\n"}},CN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},SN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},AN=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},LN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},NN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},DN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},fN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},FN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},PN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},vN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"("+s+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"("+s+")\n"),i},YN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},XN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},xN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},yN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},VN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+o+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},bN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+_+",size = "+o+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+_+",size = "+o+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},BN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},GN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},UN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+_+",color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+_+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},wN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},kN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},HN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},WN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+_+")\n"},KN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},JN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},zN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},QN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=Rt.Boards.getSelectedBoardKey().split(":")[2],o="";return o=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_zero"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+o+")\n"},jN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},$N=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},tD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},eD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},iD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},nD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},sD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},_D=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},oD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},pD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},aD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},uD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},rD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},lD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},dD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ID=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+_+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+_+")\n")},TD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},hD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},MD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},mD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},OD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},ED=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},RD=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZD=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+_+",size = "+o+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},$D=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},tf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+_+",color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+_+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},ef=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},nf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+_+",speed ="+o+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},sf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},_f=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==o.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},of=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},pf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},af=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},uf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},rf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var o="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return o},lf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},df=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},If=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},Tf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+","+s+","+_+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+","+s+","+_+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},hf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Mf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},mf=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Of=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Ef=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==o.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+","+p+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},Rf=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},cf=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},gf=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},TX=function(){return"control.reset()\n"},hX=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+")\n"},MX=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+")\n"},mX=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},OX=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},EX=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},RX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},cX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},gX=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},CX=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},SX=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},AX=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},LX=function(){return"while True:\n pass\n"},NX=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},DX=function(t,e){return e.definitions_.import_os="import os","os.uname()"},fX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},FX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},PX=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},vX=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},YX=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},XX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},xX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},yX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},VX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},bX=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},BX=XX,GX=vX,UX=YX,wX=fX,kX=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},HX=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},WX=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KX={};KX["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:Rt.Profile.generate(["0-10","18"]),input_pin:Rt.Profile.generate(["0-10","18"]),output_pin:Rt.Profile.generate(["0-10","18"]),pwm_input:Rt.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Rt.Profile.generate(["0-4"],"adc","adc"),pwm_output:Rt.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Rt.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Rt.Profile.generate(["1-13"]),haskylens_model:Rt.Profile.generate(["0-4"]),digital:Rt.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Rt.Profile.generate(["0-10","18"]),pwm:Rt.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Rt.Profile.generate(["0-4"]),analog:Rt.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Rt.Profile.generate(["0-4"]),exlcdh:Rt.Profile.generate(["0-11"]),exlcdv:Rt.Profile.generate(["0-7"]),brightness:Rt.Profile.generate(["0-9"]),tts_voice:Rt.Profile.generate(["0-16"]),tts_builtin_music:Rt.Profile.generate(["0-47"]),tts_bgmusic:Rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},KX["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Rt.Profile.generate(["0-11","18-21"]),input_pin:Rt.Profile.generate(["0-11","18-21"]),output_pin:Rt.Profile.generate(["0-11","18-21"]),pwm_input:Rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Rt.Profile.generate(["0-5"],"adc","adc"),pwm_output:Rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Rt.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Rt.Profile.generate(["1-13"]),haskylens_model:Rt.Profile.generate(["0-4"]),digital:Rt.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Rt.Profile.generate(["0-11","18-21"]),pwm:Rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Rt.Profile.generate(["0-5"]),analog:Rt.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Rt.Profile.generate(["0-4"]),exlcdh:Rt.Profile.generate(["0-31"]),exlcdv:Rt.Profile.generate(["0-11"]),brightness:Rt.Profile.generate(["0-9"]),tts_voice:Rt.Profile.generate(["0-16"]),tts_builtin_music:Rt.Profile.generate(["0-47"]),tts_bgmusic:Rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const JX=KX,qX=20,zX={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_HIGH,"HIGH"],[Et.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},QX={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},jX={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},ZX={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField("PWM"+Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},$X={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField("DAC"+Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},tx={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_mSecond,"period"],[Et.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},ex={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField("PWM"+Et.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_FREQUENCY+Et.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},ix={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},nx={init:function(){this.setColour(qX),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_REF_VOLTAGE+Et.Msg.MIXLY_STAT).appendField(new Et.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},sx={init:function(){this.setColour(qX),this.appendValueInput("pin").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},_x={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ox={init:function(){this.setColour(20),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_AS).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Et.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Et.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Et.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},px={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("pwm#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+Et.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ax={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("dac#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Et.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ux={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("adc#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Et.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},rx={init:function(){this.setColour(qX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldTextInput("tc#"),"PIN_OBJ").appendField(Et.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},lx=ox,dx=ex,Ix=rx,Tx=sx,hx=_x,Mx=40,mx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput("").appendField(t).appendField(Et.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ox={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput("").appendField(t).appendField(Et.Msg.MIXLY_Altitude+Et.Msg.MSG.catSensor+" HP203X").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETPRESSURE,"pressure()"],[Et.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Et.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ex={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},cx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField("RFID"+Et.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},gx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Et.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Et.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Et.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Sx={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(Mx),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RFID_SCAN_OK,"True"],[Et.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[Et.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ax=100,Lx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXGO_LEFT_FRONT+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[Et.Msg.MIXGO_RIGHT_FRONT+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[Et.Msg.MIXGO_LEFT_BACK+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[Et.Msg.MIXGO_RIGHT_BACK+Et.Msg.COLOUR_RGB_GREEN+Et.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[Et.Msg.MIXGO_LEFT_FRONT+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[Et.Msg.MIXGO_RIGHT_FRONT+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[Et.Msg.MIXGO_LEFT_BACK+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[Et.Msg.MIXGO_RIGHT_BACK+Et.Msg.COLOUR_RGB_RED+Et.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[Et.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},Nx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Dx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},fx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Fx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_BUILDIN_LED+Et.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Px={init:function(){this.setColour(Ax),this.appendDummyInput().appendField("ME GO").appendField(new Et.FieldDropdown([[Et.Msg.blockpy_forward,"F"],[Et.Msg.blockpy_backward,"B"],[Et.Msg.blockpy_left,"L"],[Et.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField("ME GO").appendField(new Et.FieldDropdown([[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField("ME GO").appendField(Et.Msg.MOTOR_DC).appendField(new Et.FieldDropdown([[Et.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[Et.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[Et.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.ROTATION_FORWARD,"CW"],[Et.Msg.ROTATION_BACKWARD,"CCW"],[Et.Msg.MOTOR_P,"P"],[Et.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_INTERRUPT).appendField(Et.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"A"],[Et.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"A"],[Et.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new Et.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"A"],[Et.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new Et.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Vx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"[0]"],[Et.Msg.MIXGO_LEFT_MID,"[1]"],[Et.Msg.MIXGO_RIGHT_MID,"[2]"],[Et.Msg.TEXT_TRIM_RIGHT,"[3]"],[Et.Msg.MIXLY_ALL,""]]),"key").appendField(Et.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Et.Msg.MIXLY_ESP32_NEAR}))}},bx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXGO_LEFT_FRONT,"[0]"],[Et.Msg.MIXGO_RIGHT_FRONT,"[1]"],[Et.Msg.MIXGO_LEFT_BACK,"[3]"],[Et.Msg.MIXGO_RIGHT_BACK,"[2]"],[Et.Msg.MIXLY_ALL,""]]),"key").appendField(Et.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Et.Msg.MIXLY_ESP32_NEAR}))}},Bx={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[Et.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[Et.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[Et.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[Et.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gx={init:function(){this.setColour(Ax),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_GESTURE).appendField(new Et.FieldDropdown([[Et.Msg.ME_GO_PITCH,"[0]"],[Et.Msg.ME_GO_ROLL,"[1]"],[Et.Msg.ME_GO_PITCH+", "+Et.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ux={init:function(){this.setColour(Ax),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.TEXT_TRIM_LEFT,"[0]"],[Et.Msg.MIXGO_LEFT_MID,"[1]"],[Et.Msg.MIXGO_RIGHT_MID,"[2]"],[Et.Msg.TEXT_TRIM_RIGHT,"[3]"],[Et.Msg.MIXLY_ALL,""]]),"key").appendField(Et.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Et.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},wx=230,kx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Hx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},zx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Qx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},jx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Zx={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},$x={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ty={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},ey={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},iy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},ny={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},sy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},_y={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},oy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},py={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},ay={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},uy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},ry={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},ly={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},dy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Iy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Ty={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},hy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},My={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},my={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Oy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Ey={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Ry={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},cy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},gy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Cy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Sy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Ay={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ly={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Ny={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Dy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},fy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Fy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Py={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},vy={init:function(){this.setColour(wx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Yy=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},Xy=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},xy=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},yy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Vy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},by=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},By=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Gy=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Uy=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},wy=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},ky=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Hy=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},Wy=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ky=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},Jy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},qy=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Et.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},zy=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},Qy=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,e.ORDER_ATOMIC]},jy=function(t,e){e.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",e.ORDER_ATOMIC]},Zy=function(t,e){if(e.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Rt.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{e.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,e.ORDER_ATOMIC]},$y=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},tV=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},eV=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},iV=function(t,e){var i=Rt.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},nV=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},sV=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},_V=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",e.ORDER_ATOMIC]},oV=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",e.ORDER_ATOMIC]},pV=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},aV=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)+")\n"},uV=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},rV=function(t,e){var i=this.getFieldValue("wheel");e.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},lV=function(t,e){var i=this.getFieldValue("mode");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+")\n"},dV=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=e.valueToCode(this,"num",e.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},IV=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,e.ORDER_ATOMIC]},TV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,e.ORDER_ATOMIC]},hV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,e.ORDER_ATOMIC]},MV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},mV=function(t,e){return e.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},OV=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,e.ORDER_ATOMIC]},EV=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},RV=EV,cV=EV,gV=EV,CV=EV,SV=EV,AV=EV,LV=EV,NV=EV,DV=EV,fV=EV,FV=EV,PV=EV,vV=EV,YV=EV,XV=EV,xV=EV,yV=EV,VV=EV,bV=EV,BV=EV,GV=EV,UV=EV,wV=EV,kV=EV,HV=EV,WV=EV,KV=EV,JV=EV,qV=EV,zV=EV,QV=EV,jV=EV,ZV=EV,$V=EV,tb=EV,eb=EV,ib=EV,nb=EV,sb=EV,_b=EV,ob=EV,pb=EV,ab=EV,ub=EV;Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,qn),Et.Python=ru,Et.generator=ru,Rt.Profile.default={},Object.assign(Rt.Profile,JX),Object.assign(Rt.Profile.default,JX["MixGo CC"]),Object.assign(Et.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,b,H,k,X,B,W,f,w,U,G,F,D,N,y,x,V,P,v,Y,lt,dt,It,Tt),Object.assign(Et.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,nt,ut,at,$,st,rt,q,pt,ot,_t,z,J,K,et,tt,it,Q,j,Z,ht,Mt,mt,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/styles/main.b73cc364.css b/boards/default/micropython_esp32c2/styles/main.f485dfb6.css similarity index 100% rename from boards/default/micropython_esp32c2/styles/main.b73cc364.css rename to boards/default/micropython_esp32c2/styles/main.f485dfb6.css diff --git a/boards/default/micropython_esp32c3/index.xml b/boards/default/micropython_esp32c3/index.xml index c32c896a..d52b0609 100644 --- a/boards/default/micropython_esp32c3/index.xml +++ b/boards/default/micropython_esp32c3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,018029100100100440440100004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京1SVa3S0UKHIy9dDArs北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensor100midi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,018029100100100440440100004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京1SVa3S0UKHIy9dDArs北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensor100midi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/main.bundle.js b/boards/default/micropython_esp32c3/main.bundle.js index acf16eab..b586babd 100644 --- a/boards/default/micropython_esp32c3/main.bundle.js +++ b/boards/default/micropython_esp32c3/main.bundle.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ct{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(Ft),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(Ft),this.appendValueInput("LIST").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(mt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Vt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Bt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Gt={init:function(){this.setColour(Ft);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ut={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Vt.OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Gt.OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:mt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ft,tooltip:mt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:mt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},zt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_STAT),this.setOutput(!0)}},jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(mt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(mt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new mt.FieldDropdown([[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},te={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ee={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ie={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ne={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_GET_UNIQUE_IDEN)}},se=230;mt.FieldTextInput.math_number_validator=function(t){return String(t)},mt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const oe={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},_e={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},pe={init:function(){this.setColour(se),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ue={init:function(){this.setColour(se),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:mt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:mt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:mt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:mt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:mt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:mt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:mt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},de={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(se),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:mt.Msg.MATH_DEC_TOOLTIP_BIN,oct:mt.Msg.MATH_DEC_TOOLTIP_OCT,hex:mt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ie={init:function(){var t=[[mt.Msg.LANG_MATH_TO_ROUND,"round"],[mt.Msg.LANG_MATH_TO_CEIL,"ceil"],[mt.Msg.LANG_MATH_TO_FLOOR,"floor"],[mt.Msg.MATH_ABS,"fabs"],[mt.Msg.MATH_SQRT,"sqrt"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:mt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:mt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:mt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:mt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:mt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:mt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Te={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:mt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:mt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[mt.Msg.MATH_TWO,"two"],[mt.Msg.MATH_EIGHT,"eight"],[mt.Msg.MATH_TEN,"ten"],[mt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(se),this.appendDummyInput("").appendField(mt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new mt.FieldDropdown(t),"OP").appendField(mt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MATH_ZHW).appendField(new mt.FieldDropdown(t),"OP2").appendField(mt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:mt.Msg.MATH_Before_two,eight:mt.Msg.MATH_Before_eight,ten:mt.Msg.MATH_Before_ten,sixteen:mt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:mt.Msg.MATH_Behind_two,eight:mt.Msg.MATH_Behind_eight,ten:mt.Msg.MATH_Behind_ten,sixteen:mt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Me={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(se),this.setOutput(!0,Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new mt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:mt.Msg.LANG_MATH_INT,float:mt.Msg.LANG_MATH_FLOAT_RANDOM};return mt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},me={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(se),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(mt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(mt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ee={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},Re={init:function(){this.setColour(se),this.appendValueInput("NUM").setCheck(Number).appendField(mt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ce={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MATH_ROUND).appendField(mt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(mt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ge={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:mt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ce={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:mt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Se=Oe,Ae=160,Le={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}},Ne={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}};mt.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const De={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput("",mt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(mt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new mt.FieldImage(e,7,12,'"')}},fe={init:function(){this.setColour(Ae),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(mt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Fe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Pe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ve={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ye={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},xe={init:function(){this.WHERE_OPTIONS=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.TEXT_GET_INDEX_RANDOM+1+mt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.LISTS_GET_INDEX_GET,"MODE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(mt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+mt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",mt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:mt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:mt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:mt.Msg.TEXT_GET_INDEX_RANDOM};return mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+mt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==mt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new mt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.LISTS_GET_INDEX_FROM_START+"n"+mt.Msg.TEXT_CHARAT2)}},be={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(mt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(mt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ye={init:function(){this.WHERE_OPTIONS_1=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[mt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==mt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new mt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ve={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(mt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Be={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ge={init:function(){this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_COMPARETO_HELP)}},Ue={init:function(){var t=[[mt.Msg.TEXT_UPPER,"upper"],[mt.Msg.TEXT_TITLE,"title"],[mt.Msg.TEXT_CAPITALIZE,"capitalize"],[mt.Msg.TEXT_SWAPCASE,"swapcase"],[mt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:mt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:mt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:mt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:mt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:mt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},we={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(mt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(mt.Msg.MIXLY_MID+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(mt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},He={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},We={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(mt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(mt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(mt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Je={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ae),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(mt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:mt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:mt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:mt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},qe={init:function(){this.setColour(Ae),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new mt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Hi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Wi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ki={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ji={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_TOOLTIP)}},qi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Qi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_DELETE_TOOLTIP)}},ji={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(mt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(mt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MID),this.setTooltip(mt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_CLEAR),this.setTooltip(mt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},tn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},nn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_DELDICT),this.setTooltip(mt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sn={init:function(){this.MODE=[[mt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[mt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(mt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=mt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=mt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new mt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},on={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setTooltip(mt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},_n={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},an={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new mt.FieldLabel(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new mt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},un={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TO_JSON),this.setTooltip(mt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},rn={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(mt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ln=210,dn={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:mt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:mt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},In={init:function(){var t=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new mt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Tn={init:function(){var t=[[mt.Msg.LOGIC_OPERATION_AND,"AND"],[mt.Msg.LOGIC_OPERATION_OR,"OR"],[mt.Msg.LOGIC_OPERATION_NOR,"NOR"],[mt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:mt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:mt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},hn={init:function(){this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},Mn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},mn={init:function(){this.setColour(ln),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(mt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(mt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},En={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new mt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(mt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.IN)}},Rn={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(mt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXPY_TEXT_ENCODE).appendField(new mt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Ln={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MICROBIT_PYTHON_TYPE)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.HTML_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const xn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Bn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+mt.Msg.MIXLY_ESP32_SET+{mkdir:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(mt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.HTML_FILE,"isfile"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},kn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(mt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(mt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Wn={};Wn.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Wn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(xs),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Us={init:function(){this.setColour(xs),this.appendDummyInput().appendField(mt.Msg.HTML_FORM_CONTENT).appendField(new mt.FieldDropdown([[mt.Msg.HTML_TEXT,"text"],[mt.Msg.HTML_EMAIL,"email"],[mt.Msg.HTML_NUMBER,"number"],[mt.Msg.HTML_PASSWORD,"password"],[mt.Msg.HTML_CHECKBOX,"checkbox"],[mt.Msg.HTML_RADIOBUTTON,"radiobutton"],[mt.Msg.HTML_BUTTON,"button"],[mt.Msg.HTML_COLOUR,"colour"],[mt.Msg.HTML_DATE,"date"],[mt.Msg.HTML_LOCALTIME,"local time"],[mt.Msg.HTML_FILE,"file"],[mt.Msg.HTML_HIDDEN,"hidden"],[mt.Msg.HTML_IMAGE,"image"],[mt.Msg.HTML_MONTH,"month"],[mt.Msg.HTML_RANGE,"range"],[mt.Msg.HTML_RESET,"reset"],[mt.Msg.HTML_SEARCH,"search"],[mt.Msg.HTML_SUBMIT,"submit"],[mt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[mt.Msg.HTML_TIME,"time"],[mt.Msg.HTML_URL,"url"],[mt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(mt.Msg.HTML_NAME).appendField(new mt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(mt.Msg.HTML_VALUE).appendField(new mt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(xs),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws=160,Ks={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},Js={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},qs={init:function(){this.setColour(Ws),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Qs={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},zs={init:function(){this.setColour(Ws),this.appendDummyInput().appendTitle("Comment:").appendTitle(new mt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},js={init:function(){this.setColour(Ws),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Zs={init:function(){this.setColour(Ws),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(mt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=mt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+p()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},mt.isNumber(n)&&mt.isNumber(s)&&mt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ba=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},ya=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Va=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ba=function(t,e){return["None",e.ORDER_ATOMIC]},Ga=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},wa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ka=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ha=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Wa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ka=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ja=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},qa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Qa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},za=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ja=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Za=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},$a=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},tp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ep=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ip=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},np=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},op=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},_p=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ap=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},pp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},up=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},rp=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},lp=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},dp=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ip=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),mt.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Jp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},qp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Qp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},zp=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},jp=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Zp=function(t,e){return'"},$p=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},tu=function(){return this.getFieldValue("TEXT")+"\n"},eu=function(t){return t.getFieldValue("TEXT")+"\n"},iu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},su=function(){return""},ou=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},_u=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},pu.scrubNakedValue=function(t){return t+"\n"},pu.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},pu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},pu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=mt.utils.string.wrap(o,pu.COMMENT_WRAP-3),n+=pu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+a+" + "+s+")":s<0?"int("+a+" - "+-s+")":"int("+a+")",n&&(a="-"+a)),a};const uu="#74A55B",ru={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},lu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},du={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Iu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Tu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},hu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ou={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Eu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ru={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},cu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},gu={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Su={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField("360°"+mt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Au={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Lu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Nu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Du={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new mt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(mt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[mt.Msg.MOTOR_N,"ms32006.MOT_N"],[mt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Pu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new mt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},vu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},Yu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},bu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new mt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+mt.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},yu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Vu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Bu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Gu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Uu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[mt.Msg.MIXLY_SPEED,"[1]"],[mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[mt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[mt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[mt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},$u={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ir="#6C9858",nr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},sr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"1"],[mt.Msg.MIXLY_ESP32_OFF,"0"],[mt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},or={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LIGHT_RED,"1"],[mt.Msg.MIXLY_LIGHT_GREEN,"2"],[mt.Msg.MIXLY_LIGHT_BLUE,"3"],[mt.Msg.MIXLY_LIGHT_YELLOW,"4"],[mt.Msg.MIXLY_LIGHT_CYAN,"5"],[mt.Msg.MIXLY_LIGHT_PURPLE,"6"],[mt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},rr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Ir={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Tr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Rr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},cr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},gr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fr={init:function(){this.setColour(ir),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Fr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"1"],[mt.Msg.TEXT_TRIM_RIGHT,"2"],[mt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"0"],[mt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_RECORD_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},jr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},tl={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.MIXLY_ALL+mt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(mt.ALIGN_RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},el={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RELEASE).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT)}},il={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SPECIAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0"],[mt.Msg.MIXLY_SPECIAL_KEY1,"1"],[mt.Msg.MIXLY_SPECIAL_KEY2,"2"],[mt.Msg.MIXLY_SPECIAL_KEY1,"4"],[mt.Msg.MIXLY_SPECIAL_KEY8,"8"],[mt.Msg.MIXLY_SPECIAL_KEY16,"16"],[mt.Msg.MIXLY_SPECIAL_KEY32,"32"],[mt.Msg.MIXLY_SPECIAL_KEY64,"64"],[mt.Msg.MIXLY_SPECIAL_KEY128,"128"]]),"op"),this.setOutput(!0)}},nl={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GENERAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1","0x1E"],["2","0x1F"],["3","0x20"],["4","0x21"],["5","0x22"],["6","0x23"],["7","0x24"],["8","0x25"],["9","0x26"],["0","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["-","0x2D"],["=","0x2E"],["{","0x2F"],["}","0x30"],["\\","0x31"],[";","0x33"],['"',"0x34"],["`","0x35"],[",","0x36"],[".","0x37"],["/","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},sl={init:function(){this.setColour(ir),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new mt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(mt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Cm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Sm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Am={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Lm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(mt.Msg.MIXLY_WIFI_USERNAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.MIXLY_IOT_PASSWORD).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_PROJECT).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(mt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Dm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_SUBSCRIBE+mt.Msg.MIXLY_MICROBIT_MSG).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(mt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+mt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Mm),this.appendDummyInput("").appendField(new mt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Um={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(mt.Msg.MIXLY_REQUESTS_GET).appendField(mt.Msg.MIXLY_GET_CURRENT_TIME).appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},km={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Hm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(mt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(mt.Msg.MQTT_Topic).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Km=mm,Jm=Om,qm=Em,Qm=Rm,zm=gm,jm=225,Zm={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(mt.Msg.MIXLY_NETWORK_MODE).appendField(new mt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$m={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[mt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=mt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:mt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:mt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:mt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT+mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},oO={init:function(){this.setColour(jm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},_O={init:function(){this.setColour(jm),this.appendValueInput("url").appendField(mt.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},aO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},pO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[mt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:mt.Msg.MIXLY_ESP32_NETWORK_IP,1:mt.Msg.MIXLY_ESP32_NETWORK_MASK,2:mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},uO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},rO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},lO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(mt.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},dO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},IO={init:function(){this.setColour(jm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},TO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},hO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},MO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},mO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},OO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},EO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},RO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},gO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},CO={init:function(){this.setColour(jm),this.appendValueInput("DOMAIN").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS_GET).appendField(new mt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:mt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:mt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:mt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},AO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:mt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:mt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},LO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(mt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},NO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(new mt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},DO="#A58C5B",fO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_IS_PRESSED)}},FO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_WAS_PRESSED)}},PO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_BUTTON+mt.Msg.MIXLY_GET_PRESSES)}},vO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},YO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"],[mt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down,freefall:mt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},xO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},XO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},bO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(DO),this.appendValueInput("PIN",Number).appendField(new mt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},yO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},VO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},BO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"left"],[mt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(mt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=mt.Msg.MIXLY_ESP32_NEAR;return i+{left:mt.Msg.TEXT_TRIM_LEFT,right:mt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},GO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[mt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},UO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[mt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},kO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField("LM35"+mt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LM35)}},HO={init:function(){this.setColour(DO),this.appendValueInput("I2CSUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},WO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[mt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[mt.Msg.MIXLY_ESP32_MAX30102_IR+","+mt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[mt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[mt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},qO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET+mt.Msg.HTML_COLOUR,"[2]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_IR_STRENGTH,"[1]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[mt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ZO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},$O={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Altitude+mt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETPRESSURE,"pressure()"],[mt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[mt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MIXGOPE_FIELD+mt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[mt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},iE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},nE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET+mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},_E={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_GETTEMPERATUE)}},aE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},pE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},uE={init:function(){this.setColour(DO),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},rE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[mt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},dE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},IE={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},TE={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(mt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},hE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_SCAN_OK,"0"],[mt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[mt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ME={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},mE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},OE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},EE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+a+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},iN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},nN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},sN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},oN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},_N=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},aN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},pN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},uN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},rN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},lN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},dN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},IN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},TN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},hN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},MN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},ON=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},EN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},RN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),a="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(a){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+p+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+p+")\n"}},cN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},gN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},CN=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},AN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},LN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+a+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+a+")\n"}},NN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),a=e.valueToCode(this,"x2",e.ORDER_ATOMIC),p=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+a+", "+p+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+a+", "+p+", "+r+")\n"}},DN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},fN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},FN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},PN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},vN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},YN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},xN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},XN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),a=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+a+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},bN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+a+")\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},yN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},VN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==p.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+u+",color="+p+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},BN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var a=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\n"}return a},GN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color="+p+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},UN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},wN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p=i+".line("+n+", "+s+", "+o+", "+_+", color="+a+")\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},kN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},HN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},WN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},KN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},JN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},qN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=Ot.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},QN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},jN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},$N=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},tD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},eD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},iD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},nD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},sD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},oD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_D=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},aD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),a=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+a+")\n"+i+".show()\n"},pD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},uD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},rD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},dD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},ID=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},TD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},hD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},MD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},mD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},OD=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,a=0;for(let n=0;n<32;n++)n<8?a=7-n:n<16?a=23-n:n<24?a=39-n:n<32&&(a=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-a);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},zD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+p+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+p+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},jD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},ZD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var a="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\n"}return a},$D=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},tf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color="+p+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},ef=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==a.slice(0,2))var u="onboard_tft."+p+"("+n+", "+s+", "+o+", "+_+", "+a+")\nonboard_tft.show()\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+p+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},nf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var p="onboard_tft."+("0"==a?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft."+("0"==a?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return p},sf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+a+")\nonboard_tft.show()\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return p},of=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},_f=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},af=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},pf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},uf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},rf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},lf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},df=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p=_+"=Clock("+n+","+s+","+o+","+a+")\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},If=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Tf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},hf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==_.slice(0,2))var p="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+a+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+a+")\nonboard_tft.show()\n"}return p},Of=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Ef=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},Rf=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},dx=function(){return"control.reset()\n"},Ix=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},Tx=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},hx=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},Mx=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},mx=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},Ox=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Ex=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Rx=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},cx=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},gx=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},Cx=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},Sx=function(){return"while True:\n pass\n"},Ax=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},Lx=function(t,e){return e.definitions_.import_os="import os","os.uname()"},Nx=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dx=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},fx=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},Fx=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},Px=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},vx=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yx=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},xx=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},Xx=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},bx=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},yx=vx,Vx=Fx,Bx=Px,Gx=Nx,Ux=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Hx={};Hx["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ot.Profile.generate(["0-11","18-21"]),input_pin:Ot.Profile.generate(["0-11","18-21"]),output_pin:Ot.Profile.generate(["0-11","18-21"]),pwm_input:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-11","18-21"]),pwm:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["0-5"]),analog:Ot.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-31"]),exlcdv:Ot.Profile.generate(["0-11"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Hx["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:Ot.Profile.generate(["0-11","18-21"]),input_pin:Ot.Profile.generate(["0-11","18-21"]),output_pin:Ot.Profile.generate(["0-11","18-21"]),pwm_input:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-11","18-21"]),pwm:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["0-5"]),analog:Ot.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-7"]),exlcdv:Ot.Profile.generate(["0-4"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Hx["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Hx["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ot.Profile.generate(["0-11","18-21"]),input_pin:Ot.Profile.generate(["0-11","18-21"]),output_pin:Ot.Profile.generate(["0-11","18-21"]),pwm_input:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-11","18-21"]),pwm:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["0-5"]),analog:Ot.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-31"]),exlcdv:Ot.Profile.generate(["0-11"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Wx=Hx,Kx=20,Jx={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_HIGH,"HIGH"],[mt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},qx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Qx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},zx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},jx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Zx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_mSecond,"period"],[mt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},$x={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_FREQUENCY+mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},tX={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},eX={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_REF_VOLTAGE+mt.Msg.MIXLY_STAT).appendField(new mt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},iX={init:function(){this.setColour(Kx),this.appendValueInput("pin").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},nX={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},sX={init:function(){this.setColour(20),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_AS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[mt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[mt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[mt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},oX={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pwm#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},_X={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("dac#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},aX={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("adc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},pX={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("tc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},uX=sX,rX=$x,lX=pX,dX=iX,IX=nX,TX=40,hX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput("").appendField(t).appendField(mt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},MX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput("").appendField(t).appendField(mt.Msg.MIXLY_Altitude+mt.Msg.MSG.catSensor+" HP203X").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETPRESSURE,"pressure()"],[mt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[mt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},OX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},EX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},RX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(mt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},gX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_SCAN_OK,"0"],[mt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[mt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},CX=230,SX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},AX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},LX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},NX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},DX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},fX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},FX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},PX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},vX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},YX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},xX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},XX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},bX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},VX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},BX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},GX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},UX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},wX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},kX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},HX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},WX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},KX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},JX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},qX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},QX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},zX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},jX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ZX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},$X={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},tb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},eb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ib={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},nb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},sb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},ob={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},_b={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ab={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},pb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},ub={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},rb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},lb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},db={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ib={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Tb=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},hb=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Mb=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},mb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Ob=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Eb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Rb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},cb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},gb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Cb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},Sb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Ab=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},Lb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Nb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},Db=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},fb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Fb=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},Pb=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},vb=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Yb=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},xb=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},Xb=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},bb=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},yb=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},Vb=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Bb=Vb,Gb=Vb,Ub=Vb,wb=Vb,kb=Vb,Hb=Vb,Wb=Vb,Kb=Vb,Jb=Vb,qb=Vb,Qb=Vb,zb=Vb,jb=Vb,Zb=Vb,$b=Vb,ty=Vb,ey=Vb,iy=Vb,ny=Vb,sy=Vb,oy=Vb,_y=Vb,ay=Vb,py=Vb,uy=Vb,ry=Vb,ly=Vb,dy=Vb,Iy=Vb,Ty=Vb,hy=Vb,My=Vb,my=Vb,Oy=Vb,Ey=Vb,Ry=Vb,cy=Vb,gy=Vb,Cy=Vb,Sy=Vb,Ay=Vb,Ly=Vb,Ny=Vb,Dy=Vb;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,Kn),mt.Python=pu,mt.generator=pu,Ot.Profile.default={},Object.assign(Ot.Profile,Wx),Object.assign(Ot.Profile.default,Wx["MixGo CC"]),Object.assign(mt.Blocks,e,i,n,s,o,_,a,p,u,r,l,d,I,V,H,k,x,B,W,f,w,U,G,F,D,N,b,X,y,P,v,Y,lt,dt,It),Object.assign(mt.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,nt,ut,pt,$,st,rt,q,at,_t,ot,Q,J,K,et,tt,it,z,j,Z,Tt,ht,Mt)})(); \ No newline at end of file +class ct{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(Ft),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(Ft),this.appendValueInput("LIST").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(mt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Vt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Bt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Gt={init:function(){this.setColour(Ft);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ut={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Vt.OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Gt.OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:mt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ft,tooltip:mt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:mt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},zt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_STAT),this.setOutput(!0)}},jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(mt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(mt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new mt.FieldDropdown([[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},te={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ee={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ie={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ne={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_GET_UNIQUE_IDEN)}},se=230;mt.FieldTextInput.math_number_validator=function(t){return String(t)},mt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const oe={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},_e={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},pe={init:function(){this.setColour(se),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ue={init:function(){this.setColour(se),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:mt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:mt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:mt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:mt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:mt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:mt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:mt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},de={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(se),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:mt.Msg.MATH_DEC_TOOLTIP_BIN,oct:mt.Msg.MATH_DEC_TOOLTIP_OCT,hex:mt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ie={init:function(){var t=[[mt.Msg.LANG_MATH_TO_ROUND,"round"],[mt.Msg.LANG_MATH_TO_CEIL,"ceil"],[mt.Msg.LANG_MATH_TO_FLOOR,"floor"],[mt.Msg.MATH_ABS,"fabs"],[mt.Msg.MATH_SQRT,"sqrt"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:mt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:mt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:mt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:mt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:mt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:mt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Te={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:mt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:mt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[mt.Msg.MATH_TWO,"two"],[mt.Msg.MATH_EIGHT,"eight"],[mt.Msg.MATH_TEN,"ten"],[mt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(se),this.appendDummyInput("").appendField(mt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new mt.FieldDropdown(t),"OP").appendField(mt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MATH_ZHW).appendField(new mt.FieldDropdown(t),"OP2").appendField(mt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:mt.Msg.MATH_Before_two,eight:mt.Msg.MATH_Before_eight,ten:mt.Msg.MATH_Before_ten,sixteen:mt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:mt.Msg.MATH_Behind_two,eight:mt.Msg.MATH_Behind_eight,ten:mt.Msg.MATH_Behind_ten,sixteen:mt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Me={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(se),this.setOutput(!0,Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new mt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:mt.Msg.LANG_MATH_INT,float:mt.Msg.LANG_MATH_FLOAT_RANDOM};return mt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},me={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(se),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(mt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(mt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ee={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},Re={init:function(){this.setColour(se),this.appendValueInput("NUM").setCheck(Number).appendField(mt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ce={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MATH_ROUND).appendField(mt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(mt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ge={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:mt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ce={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:mt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Se=Oe,Ae=160,Le={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}},Ne={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}};mt.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const De={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput("",mt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(mt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new mt.FieldImage(e,7,12,'"')}},fe={init:function(){this.setColour(Ae),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(mt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Fe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Pe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ve={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ye={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},xe={init:function(){this.WHERE_OPTIONS=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.TEXT_GET_INDEX_RANDOM+1+mt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.LISTS_GET_INDEX_GET,"MODE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(mt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+mt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",mt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:mt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:mt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:mt.Msg.TEXT_GET_INDEX_RANDOM};return mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+mt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==mt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new mt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.LISTS_GET_INDEX_FROM_START+"n"+mt.Msg.TEXT_CHARAT2)}},be={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(mt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(mt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ye={init:function(){this.WHERE_OPTIONS_1=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[mt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==mt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new mt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ve={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(mt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Be={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ge={init:function(){this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_COMPARETO_HELP)}},Ue={init:function(){var t=[[mt.Msg.TEXT_UPPER,"upper"],[mt.Msg.TEXT_TITLE,"title"],[mt.Msg.TEXT_CAPITALIZE,"capitalize"],[mt.Msg.TEXT_SWAPCASE,"swapcase"],[mt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:mt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:mt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:mt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:mt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:mt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},we={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(mt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(mt.Msg.MIXLY_MID+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(mt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},He={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},We={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(mt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(mt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(mt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Je={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ae),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(mt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:mt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:mt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:mt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},qe={init:function(){this.setColour(Ae),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new mt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Hi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Wi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ki={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ji={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_TOOLTIP)}},qi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Qi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_DELETE_TOOLTIP)}},ji={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(mt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(mt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MID),this.setTooltip(mt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_CLEAR),this.setTooltip(mt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},tn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},nn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_DELDICT),this.setTooltip(mt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sn={init:function(){this.MODE=[[mt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[mt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(mt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=mt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=mt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new mt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},on={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setTooltip(mt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},_n={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},an={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new mt.FieldLabel(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new mt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},un={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TO_JSON),this.setTooltip(mt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},rn={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(mt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ln=210,dn={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:mt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:mt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},In={init:function(){var t=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new mt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Tn={init:function(){var t=[[mt.Msg.LOGIC_OPERATION_AND,"AND"],[mt.Msg.LOGIC_OPERATION_OR,"OR"],[mt.Msg.LOGIC_OPERATION_NOR,"NOR"],[mt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:mt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:mt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},hn={init:function(){this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},Mn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},mn={init:function(){this.setColour(ln),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(mt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(mt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},En={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new mt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(mt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.IN)}},Rn={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(mt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXPY_TEXT_ENCODE).appendField(new mt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Ln={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MICROBIT_PYTHON_TYPE)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.HTML_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const xn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Bn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+mt.Msg.MIXLY_ESP32_SET+{mkdir:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(mt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.HTML_FILE,"isfile"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},kn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(mt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(mt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Wn={};Wn.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Wn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(xs),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Us={init:function(){this.setColour(xs),this.appendDummyInput().appendField(mt.Msg.HTML_FORM_CONTENT).appendField(new mt.FieldDropdown([[mt.Msg.HTML_TEXT,"text"],[mt.Msg.HTML_EMAIL,"email"],[mt.Msg.HTML_NUMBER,"number"],[mt.Msg.HTML_PASSWORD,"password"],[mt.Msg.HTML_CHECKBOX,"checkbox"],[mt.Msg.HTML_RADIOBUTTON,"radiobutton"],[mt.Msg.HTML_BUTTON,"button"],[mt.Msg.HTML_COLOUR,"colour"],[mt.Msg.HTML_DATE,"date"],[mt.Msg.HTML_LOCALTIME,"local time"],[mt.Msg.HTML_FILE,"file"],[mt.Msg.HTML_HIDDEN,"hidden"],[mt.Msg.HTML_IMAGE,"image"],[mt.Msg.HTML_MONTH,"month"],[mt.Msg.HTML_RANGE,"range"],[mt.Msg.HTML_RESET,"reset"],[mt.Msg.HTML_SEARCH,"search"],[mt.Msg.HTML_SUBMIT,"submit"],[mt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[mt.Msg.HTML_TIME,"time"],[mt.Msg.HTML_URL,"url"],[mt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(mt.Msg.HTML_NAME).appendField(new mt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(mt.Msg.HTML_VALUE).appendField(new mt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(xs),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws=160,Ks={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},Js={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},qs={init:function(){this.setColour(Ws),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Qs={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},zs={init:function(){this.setColour(Ws),this.appendDummyInput().appendTitle("Comment:").appendTitle(new mt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},js={init:function(){this.setColour(Ws),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Zs={init:function(){this.setColour(Ws),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(mt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=mt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+p()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},mt.isNumber(n)&&mt.isNumber(s)&&mt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ba=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},ya=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Va=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ba=function(t,e){return["None",e.ORDER_ATOMIC]},Ga=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},wa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ka=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ha=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Wa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ka=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ja=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},qa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Qa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},za=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ja=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Za=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},$a=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},tp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ep=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ip=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},np=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},op=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},_p=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ap=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},pp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},up=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},rp=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},lp=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},dp=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ip=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),mt.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Jp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},qp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Qp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},zp=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},jp=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Zp=function(t,e){return'"},$p=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},tu=function(){return this.getFieldValue("TEXT")+"\n"},eu=function(t){return t.getFieldValue("TEXT")+"\n"},iu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},su=function(){return""},ou=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},_u=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},pu.scrubNakedValue=function(t){return t+"\n"},pu.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},pu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},pu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=mt.utils.string.wrap(o,pu.COMMENT_WRAP-3),n+=pu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+a+" + "+s+")":s<0?"int("+a+" - "+-s+")":"int("+a+")",n&&(a="-"+a)),a};const uu="#74A55B",ru={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},lu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},du={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Iu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Tu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},hu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ou={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Eu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ru={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},cu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},gu={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Su={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField("360°"+mt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Au={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Lu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Nu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Du={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new mt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(mt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[mt.Msg.MOTOR_N,"ms32006.MOT_N"],[mt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Pu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new mt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},vu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},Yu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},bu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new mt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+mt.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},yu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Vu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Bu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Gu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Uu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[mt.Msg.MIXLY_SPEED,"[1]"],[mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[mt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[mt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[mt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},$u={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ir="#6C9858",nr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},sr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"1"],[mt.Msg.MIXLY_ESP32_OFF,"0"],[mt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},or={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LIGHT_RED,"1"],[mt.Msg.MIXLY_LIGHT_GREEN,"2"],[mt.Msg.MIXLY_LIGHT_BLUE,"3"],[mt.Msg.MIXLY_LIGHT_YELLOW,"4"],[mt.Msg.MIXLY_LIGHT_CYAN,"5"],[mt.Msg.MIXLY_LIGHT_PURPLE,"6"],[mt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},rr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Ir={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Tr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Rr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},cr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},gr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fr={init:function(){this.setColour(ir),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Fr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"1"],[mt.Msg.TEXT_TRIM_RIGHT,"2"],[mt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"0"],[mt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_RECORD_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},jr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},tl={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.MIXLY_ALL+mt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(mt.ALIGN_RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},el={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RELEASE).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT)}},il={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SPECIAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[mt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[mt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[mt.Msg.MIXLY_SPECIAL_KEY1,"0x04"],[mt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[mt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[mt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[mt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[mt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},nl={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GENERAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},sl={init:function(){this.setColour(ir),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new mt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(mt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Cm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Sm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Am={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Lm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(mt.Msg.MIXLY_WIFI_USERNAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.MIXLY_IOT_PASSWORD).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_PROJECT).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(mt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Dm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_SUBSCRIBE+mt.Msg.MIXLY_MICROBIT_MSG).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(mt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+mt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Mm),this.appendDummyInput("").appendField(new mt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Um={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(mt.Msg.MIXLY_REQUESTS_GET).appendField(mt.Msg.MIXLY_GET_CURRENT_TIME).appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},km={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Hm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(mt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(mt.Msg.MQTT_Topic).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Km=mm,Jm=Om,qm=Em,Qm=Rm,zm=gm,jm=225,Zm={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(mt.Msg.MIXLY_NETWORK_MODE).appendField(new mt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$m={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[mt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=mt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:mt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:mt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:mt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT+mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},oO={init:function(){this.setColour(jm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},_O={init:function(){this.setColour(jm),this.appendValueInput("url").appendField(mt.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},aO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},pO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[mt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:mt.Msg.MIXLY_ESP32_NETWORK_IP,1:mt.Msg.MIXLY_ESP32_NETWORK_MASK,2:mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},uO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},rO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},lO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(mt.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},dO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},IO={init:function(){this.setColour(jm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},TO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},hO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},MO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},mO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},OO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},EO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},RO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},gO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},CO={init:function(){this.setColour(jm),this.appendValueInput("DOMAIN").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS_GET).appendField(new mt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:mt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:mt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:mt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},AO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:mt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:mt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},LO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(mt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},NO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(new mt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},DO="#A58C5B",fO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_IS_PRESSED)}},FO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_WAS_PRESSED)}},PO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_BUTTON+mt.Msg.MIXLY_GET_PRESSES)}},vO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},YO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"],[mt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down,freefall:mt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},xO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},XO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},bO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(DO),this.appendValueInput("PIN",Number).appendField(new mt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},yO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},VO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},BO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"left"],[mt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(mt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=mt.Msg.MIXLY_ESP32_NEAR;return i+{left:mt.Msg.TEXT_TRIM_LEFT,right:mt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},GO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[mt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},UO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[mt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wO={init:function(){this.setColour(DO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},kO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField("LM35"+mt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LM35)}},HO={init:function(){this.setColour(DO),this.appendValueInput("I2CSUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},WO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[mt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[mt.Msg.MIXLY_ESP32_MAX30102_IR+","+mt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[mt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[mt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},qO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET+mt.Msg.HTML_COLOUR,"[2]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_IR_STRENGTH,"[1]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[mt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zO={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ZO={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},$O={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Altitude+mt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETPRESSURE,"pressure()"],[mt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[mt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MIXGOPE_FIELD+mt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[mt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},iE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},nE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET+mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},_E={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_GETTEMPERATUE)}},aE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},pE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},uE={init:function(){this.setColour(DO),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},rE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[mt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},dE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},IE={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},TE={init:function(){this.setColour(DO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(mt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},hE={init:function(){this.setColour(DO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_SCAN_OK,"0"],[mt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[mt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ME={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},mE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},OE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},EE={init:function(){this.setColour(DO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+a+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},iN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},nN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},sN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},oN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},_N=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},aN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},pN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},uN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},rN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},lN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},dN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},IN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},TN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},hN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},MN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},ON=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},EN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},RN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),a="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(a){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+p+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+p+")\n"}},cN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},gN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},CN=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},AN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},LN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+a+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+a+")\n"}},NN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),a=e.valueToCode(this,"x2",e.ORDER_ATOMIC),p=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+a+", "+p+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+a+", "+p+", "+r+")\n"}},DN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},fN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},FN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},PN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},vN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},YN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},xN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},XN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),a=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+a+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},bN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+a+")\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},yN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},VN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==p.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+u+",color="+p+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},BN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var a=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\n"}return a},GN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color="+p+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},UN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},wN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p=i+".line("+n+", "+s+", "+o+", "+_+", color="+a+")\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},kN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},HN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},WN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},KN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},JN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},qN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=Ot.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},QN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},jN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},$N=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},tD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},eD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},iD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},nD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},sD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},oD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_D=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},aD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),a=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+a+")\n"+i+".show()\n"},pD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},uD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},rD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},dD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},ID=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},TD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},hD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},MD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},mD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},OD=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,a=0;for(let n=0;n<32;n++)n<8?a=7-n:n<16?a=23-n:n<24?a=39-n:n<32&&(a=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-a);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},zD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+p+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+a+",center = "+p+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},jD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},ZD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var a="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\n"}return a},$D=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},tf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color="+p+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+a+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},ef=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==a.slice(0,2))var u="onboard_tft."+p+"("+n+", "+s+", "+o+", "+_+", "+a+")\nonboard_tft.show()\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+p+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},nf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var p="onboard_tft."+("0"==a?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft."+("0"==a?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return p},sf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+a+")\nonboard_tft.show()\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return p},of=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},_f=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},af=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},pf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},uf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},rf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},lf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},df=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var p=_+"=Clock("+n+","+s+","+o+","+a+")\n";else{const t=a.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return p},If=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Tf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},hf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==_.slice(0,2))var p="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+a+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+a+")\nonboard_tft.show()\n"}return p},Of=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Ef=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},Rf=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},dx=function(){return"control.reset()\n"},Ix=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},Tx=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},hx=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},Mx=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},mx=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},Ox=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Ex=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Rx=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},cx=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},gx=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},Cx=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},Sx=function(){return"while True:\n pass\n"},Ax=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},Lx=function(t,e){return e.definitions_.import_os="import os","os.uname()"},Nx=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dx=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},fx=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},Fx=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},Px=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},vx=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yx=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},xx=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},Xx=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},bx=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},yx=vx,Vx=Fx,Bx=Px,Gx=Nx,Ux=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Hx={};Hx["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ot.Profile.generate(["0-11","18-21"]),input_pin:Ot.Profile.generate(["0-11","18-21"]),output_pin:Ot.Profile.generate(["0-11","18-21"]),pwm_input:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-11","18-21"]),pwm:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["0-5"]),analog:Ot.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-31"]),exlcdv:Ot.Profile.generate(["0-11"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Hx["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:Ot.Profile.generate(["0-11","18-21"]),input_pin:Ot.Profile.generate(["0-11","18-21"]),output_pin:Ot.Profile.generate(["0-11","18-21"]),pwm_input:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-11","18-21"]),pwm:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["0-5"]),analog:Ot.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-7"]),exlcdv:Ot.Profile.generate(["0-4"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Hx["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Hx["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ot.Profile.generate(["0-11","18-21"]),input_pin:Ot.Profile.generate(["0-11","18-21"]),output_pin:Ot.Profile.generate(["0-11","18-21"]),pwm_input:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-11","18-21"]),pwm:Ot.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["0-5"]),analog:Ot.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-31"]),exlcdv:Ot.Profile.generate(["0-11"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Wx=Hx,Kx=20,Jx={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_HIGH,"HIGH"],[mt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},qx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Qx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},zx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},jx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Zx={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_mSecond,"period"],[mt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},$x={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_FREQUENCY+mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},tX={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},eX={init:function(){this.setColour(Kx),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_REF_VOLTAGE+mt.Msg.MIXLY_STAT).appendField(new mt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},iX={init:function(){this.setColour(Kx),this.appendValueInput("pin").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},nX={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},sX={init:function(){this.setColour(20),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_AS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[mt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[mt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[mt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},oX={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pwm#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},_X={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("dac#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},aX={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("adc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},pX={init:function(){this.setColour(Kx),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("tc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},uX=sX,rX=$x,lX=pX,dX=iX,IX=nX,TX=40,hX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput("").appendField(t).appendField(mt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},MX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput("").appendField(t).appendField(mt.Msg.MIXLY_Altitude+mt.Msg.MSG.catSensor+" HP203X").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETPRESSURE,"pressure()"],[mt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[mt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},OX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},EX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},RX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(mt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},gX={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(TX),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_SCAN_OK,"0"],[mt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[mt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},CX=230,SX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},AX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},LX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},NX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},DX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},fX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},FX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},PX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},vX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},YX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},xX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},XX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},bX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},VX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},BX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},GX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},UX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},wX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},kX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},HX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},WX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},KX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},JX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},qX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},QX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},zX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},jX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ZX={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},$X={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},tb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},eb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ib={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},nb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},sb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},ob={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},_b={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ab={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},pb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},ub={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},rb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},lb={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},db={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ib={init:function(){this.setColour(CX),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Tb=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},hb=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Mb=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},mb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Ob=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Eb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Rb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},cb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},gb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Cb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},Sb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Ab=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},Lb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Nb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},Db=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},fb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Fb=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},Pb=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},vb=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Yb=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},xb=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},Xb=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},bb=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},yb=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},Vb=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Bb=Vb,Gb=Vb,Ub=Vb,wb=Vb,kb=Vb,Hb=Vb,Wb=Vb,Kb=Vb,Jb=Vb,qb=Vb,Qb=Vb,zb=Vb,jb=Vb,Zb=Vb,$b=Vb,ty=Vb,ey=Vb,iy=Vb,ny=Vb,sy=Vb,oy=Vb,_y=Vb,ay=Vb,py=Vb,uy=Vb,ry=Vb,ly=Vb,dy=Vb,Iy=Vb,Ty=Vb,hy=Vb,My=Vb,my=Vb,Oy=Vb,Ey=Vb,Ry=Vb,cy=Vb,gy=Vb,Cy=Vb,Sy=Vb,Ay=Vb,Ly=Vb,Ny=Vb,Dy=Vb;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,Kn),mt.Python=pu,mt.generator=pu,Ot.Profile.default={},Object.assign(Ot.Profile,Wx),Object.assign(Ot.Profile.default,Wx["MixGo CC"]),Object.assign(mt.Blocks,e,i,n,s,o,_,a,p,u,r,l,d,I,V,H,k,x,B,W,f,w,U,G,F,D,N,b,X,y,P,v,Y,lt,dt,It),Object.assign(mt.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,nt,ut,pt,$,st,rt,q,at,_t,ot,Q,J,K,et,tt,it,z,j,Z,Tt,ht,Mt)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/styles/main.9bd681ce.css b/boards/default/micropython_esp32c3/styles/main.ced34eb5.css similarity index 100% rename from boards/default/micropython_esp32c3/styles/main.9bd681ce.css rename to boards/default/micropython_esp32c3/styles/main.ced34eb5.css diff --git a/boards/default/micropython_esp32s2/index.xml b/boards/default/micropython_esp32s2/index.xml index 28cf22dc..ba324d06 100644 --- a/boards/default/micropython_esp32s2/index.xml +++ b/boards/default/micropython_esp32s2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,018029100440440100004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSfsxo7MfAaNO1U_Pq北京Sfsxo7MfAaNO1U_Pq北京1Sfsxo7MfAaNO1U_Pq北京243820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensormidi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,018029100440440100004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSfsxo7MfAaNO1U_Pq北京Sfsxo7MfAaNO1U_Pq北京1Sfsxo7MfAaNO1U_Pq北京243820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensormidi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/main.bundle.js b/boards/default/micropython_esp32s2/main.bundle.js index fbd2f0f6..83f8a65a 100644 --- a/boards/default/micropython_esp32s2/main.bundle.js +++ b/boards/default/micropython_esp32s2/main.bundle.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ct{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(Ft),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(Ft),this.appendValueInput("LIST").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(mt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Vt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Bt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Gt={init:function(){this.setColour(Ft);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ut={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Vt.OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Gt.OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:mt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ft,tooltip:mt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:mt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Qt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_STAT),this.setOutput(!0)}},jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(mt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(mt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new mt.FieldDropdown([[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},te={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ee={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ie={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ne={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_GET_UNIQUE_IDEN)}},se=230;mt.FieldTextInput.math_number_validator=function(t){return String(t)},mt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const oe={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},_e={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},pe={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(se),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ue={init:function(){this.setColour(se),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:mt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:mt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:mt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:mt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:mt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:mt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:mt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},de={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(se),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:mt.Msg.MATH_DEC_TOOLTIP_BIN,oct:mt.Msg.MATH_DEC_TOOLTIP_OCT,hex:mt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ie={init:function(){var t=[[mt.Msg.LANG_MATH_TO_ROUND,"round"],[mt.Msg.LANG_MATH_TO_CEIL,"ceil"],[mt.Msg.LANG_MATH_TO_FLOOR,"floor"],[mt.Msg.MATH_ABS,"fabs"],[mt.Msg.MATH_SQRT,"sqrt"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:mt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:mt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:mt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:mt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:mt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:mt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Te={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:mt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:mt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[mt.Msg.MATH_TWO,"two"],[mt.Msg.MATH_EIGHT,"eight"],[mt.Msg.MATH_TEN,"ten"],[mt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(se),this.appendDummyInput("").appendField(mt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new mt.FieldDropdown(t),"OP").appendField(mt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MATH_ZHW).appendField(new mt.FieldDropdown(t),"OP2").appendField(mt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:mt.Msg.MATH_Before_two,eight:mt.Msg.MATH_Before_eight,ten:mt.Msg.MATH_Before_ten,sixteen:mt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:mt.Msg.MATH_Behind_two,eight:mt.Msg.MATH_Behind_eight,ten:mt.Msg.MATH_Behind_ten,sixteen:mt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Me={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(se),this.setOutput(!0,Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new mt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:mt.Msg.LANG_MATH_INT,float:mt.Msg.LANG_MATH_FLOAT_RANDOM};return mt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},me={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(se),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(mt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(mt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ee={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},Re={init:function(){this.setColour(se),this.appendValueInput("NUM").setCheck(Number).appendField(mt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ce={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MATH_ROUND).appendField(mt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(mt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ge={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:mt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ce={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:mt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Se=Oe,Ae=160,Le={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}},Ne={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}};mt.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const De={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput("",mt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(mt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new mt.FieldImage(e,7,12,'"')}},fe={init:function(){this.setColour(Ae),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(mt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Fe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Pe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ve={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ye={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Xe={init:function(){this.WHERE_OPTIONS=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.TEXT_GET_INDEX_RANDOM+1+mt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.LISTS_GET_INDEX_GET,"MODE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(mt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+mt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",mt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:mt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:mt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:mt.Msg.TEXT_GET_INDEX_RANDOM};return mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+mt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==mt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new mt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.LISTS_GET_INDEX_FROM_START+"n"+mt.Msg.TEXT_CHARAT2)}},be={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(mt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(mt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ye={init:function(){this.WHERE_OPTIONS_1=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[mt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==mt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new mt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ve={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(mt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Be={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ge={init:function(){this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_COMPARETO_HELP)}},Ue={init:function(){var t=[[mt.Msg.TEXT_UPPER,"upper"],[mt.Msg.TEXT_TITLE,"title"],[mt.Msg.TEXT_CAPITALIZE,"capitalize"],[mt.Msg.TEXT_SWAPCASE,"swapcase"],[mt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:mt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:mt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:mt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:mt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:mt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},we={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(mt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(mt.Msg.MIXLY_MID+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(mt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},He={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},We={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(mt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(mt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(mt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Je={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ae),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(mt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:mt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:mt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:mt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},qe={init:function(){this.setColour(Ae),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new mt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Hi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Wi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ki={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ji={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_TOOLTIP)}},qi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Qi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_DELETE_TOOLTIP)}},ji={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(mt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(mt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MID),this.setTooltip(mt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_CLEAR),this.setTooltip(mt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},tn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},nn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_DELDICT),this.setTooltip(mt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sn={init:function(){this.MODE=[[mt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[mt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(mt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=mt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=mt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new mt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},on={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setTooltip(mt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},_n={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},pn={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new mt.FieldLabel(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new mt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},an={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},un={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TO_JSON),this.setTooltip(mt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},rn={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(mt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ln=210,dn={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:mt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:mt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},In={init:function(){var t=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new mt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Tn={init:function(){var t=[[mt.Msg.LOGIC_OPERATION_AND,"AND"],[mt.Msg.LOGIC_OPERATION_OR,"OR"],[mt.Msg.LOGIC_OPERATION_NOR,"NOR"],[mt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:mt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:mt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},hn={init:function(){this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},Mn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},mn={init:function(){this.setColour(ln),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(mt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(mt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},En={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new mt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(mt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.IN)}},Rn={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(mt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXPY_TEXT_ENCODE).appendField(new mt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Ln={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MICROBIT_PYTHON_TYPE)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.HTML_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Xn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Bn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+mt.Msg.MIXLY_ESP32_SET+{mkdir:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(mt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.HTML_FILE,"isfile"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},kn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(mt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(mt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Wn={};Wn.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Wn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Us={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(mt.Msg.HTML_FORM_CONTENT).appendField(new mt.FieldDropdown([[mt.Msg.HTML_TEXT,"text"],[mt.Msg.HTML_EMAIL,"email"],[mt.Msg.HTML_NUMBER,"number"],[mt.Msg.HTML_PASSWORD,"password"],[mt.Msg.HTML_CHECKBOX,"checkbox"],[mt.Msg.HTML_RADIOBUTTON,"radiobutton"],[mt.Msg.HTML_BUTTON,"button"],[mt.Msg.HTML_COLOUR,"colour"],[mt.Msg.HTML_DATE,"date"],[mt.Msg.HTML_LOCALTIME,"local time"],[mt.Msg.HTML_FILE,"file"],[mt.Msg.HTML_HIDDEN,"hidden"],[mt.Msg.HTML_IMAGE,"image"],[mt.Msg.HTML_MONTH,"month"],[mt.Msg.HTML_RANGE,"range"],[mt.Msg.HTML_RESET,"reset"],[mt.Msg.HTML_SEARCH,"search"],[mt.Msg.HTML_SUBMIT,"submit"],[mt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[mt.Msg.HTML_TIME,"time"],[mt.Msg.HTML_URL,"url"],[mt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(mt.Msg.HTML_NAME).appendField(new mt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(mt.Msg.HTML_VALUE).appendField(new mt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws=160,Ks={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},Js={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},qs={init:function(){this.setColour(Ws),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},zs={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Qs={init:function(){this.setColour(Ws),this.appendDummyInput().appendTitle("Comment:").appendTitle(new mt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},js={init:function(){this.setColour(Ws),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Zs={init:function(){this.setColour(Ws),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(mt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=mt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},mt.isNumber(n)&&mt.isNumber(s)&&mt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const bp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},yp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Vp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Bp=function(t,e){return["None",e.ORDER_ATOMIC]},Gp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Up=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},wp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},kp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Hp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Wp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Kp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Jp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},qp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},zp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Qp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},$p=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ta=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ea=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ia=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},na=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},oa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},_a=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},aa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ua=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},ra=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),mt.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},qa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ja=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Za=function(t,e){return'"},$a=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},tu=function(){return this.getFieldValue("TEXT")+"\n"},eu=function(t){return t.getFieldValue("TEXT")+"\n"},iu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},su=function(){return""},ou=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},_u=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},au.scrubNakedValue=function(t){return t+"\n"},au.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},au.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},au.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=mt.utils.string.wrap(o,au.COMMENT_WRAP-3),n+=au.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const uu="#74A55B",ru={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},lu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},du={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Iu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Tu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},hu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ou={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Eu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ru={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},cu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},gu={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Su={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField("360°"+mt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Au={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Lu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Nu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Du={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new mt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(mt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[mt.Msg.MOTOR_N,"ms32006.MOT_N"],[mt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Pu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new mt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},vu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},Yu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},bu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new mt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+mt.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},yu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Vu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Bu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Gu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Uu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[mt.Msg.MIXLY_SPEED,"[1]"],[mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[mt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[mt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[mt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},$u={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ir="#6C9858",nr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},sr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"1"],[mt.Msg.MIXLY_ESP32_OFF,"0"],[mt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},or={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LIGHT_RED,"1"],[mt.Msg.MIXLY_LIGHT_GREEN,"2"],[mt.Msg.MIXLY_LIGHT_BLUE,"3"],[mt.Msg.MIXLY_LIGHT_YELLOW,"4"],[mt.Msg.MIXLY_LIGHT_CYAN,"5"],[mt.Msg.MIXLY_LIGHT_PURPLE,"6"],[mt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},rr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Ir={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Tr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Rr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},cr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},gr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fr={init:function(){this.setColour(ir),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Fr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"1"],[mt.Msg.TEXT_TRIM_RIGHT,"2"],[mt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"0"],[mt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_RECORD_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},jr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},tl={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.MIXLY_ALL+mt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(mt.ALIGN_RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},el={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RELEASE).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT)}},il={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SPECIAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0"],[mt.Msg.MIXLY_SPECIAL_KEY1,"1"],[mt.Msg.MIXLY_SPECIAL_KEY2,"2"],[mt.Msg.MIXLY_SPECIAL_KEY1,"4"],[mt.Msg.MIXLY_SPECIAL_KEY8,"8"],[mt.Msg.MIXLY_SPECIAL_KEY16,"16"],[mt.Msg.MIXLY_SPECIAL_KEY32,"32"],[mt.Msg.MIXLY_SPECIAL_KEY64,"64"],[mt.Msg.MIXLY_SPECIAL_KEY128,"128"]]),"op"),this.setOutput(!0)}},nl={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GENERAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1","0x1E"],["2","0x1F"],["3","0x20"],["4","0x21"],["5","0x22"],["6","0x23"],["7","0x24"],["8","0x25"],["9","0x26"],["0","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["-","0x2D"],["=","0x2E"],["{","0x2F"],["}","0x30"],["\\","0x31"],[";","0x33"],['"',"0x34"],["`","0x35"],[",","0x36"],[".","0x37"],["/","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},sl={init:function(){this.setColour(ir),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new mt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(mt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Cm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Sm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Am={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Lm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(mt.Msg.MIXLY_WIFI_USERNAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.MIXLY_IOT_PASSWORD).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_PROJECT).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(mt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Dm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_SUBSCRIBE+mt.Msg.MIXLY_MICROBIT_MSG).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(mt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+mt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Mm),this.appendDummyInput("").appendField(new mt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Um={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(mt.Msg.MIXLY_REQUESTS_GET).appendField(mt.Msg.MIXLY_GET_CURRENT_TIME).appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},km={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Hm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(mt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(mt.Msg.MQTT_Topic).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Km=mm,Jm=Om,qm=Em,zm=Rm,Qm=gm,jm=225,Zm={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(mt.Msg.MIXLY_NETWORK_MODE).appendField(new mt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$m={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[mt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=mt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:mt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:mt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:mt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT+mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},oO={init:function(){this.setColour(jm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},_O={init:function(){this.setColour(jm),this.appendValueInput("url").appendField(mt.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},pO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},aO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[mt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:mt.Msg.MIXLY_ESP32_NETWORK_IP,1:mt.Msg.MIXLY_ESP32_NETWORK_MASK,2:mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},uO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},rO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},lO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(mt.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},dO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},IO={init:function(){this.setColour(jm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},TO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},hO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},MO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},mO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},OO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},EO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},RO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},gO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},CO={init:function(){this.setColour(jm),this.appendValueInput("DOMAIN").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS_GET).appendField(new mt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:mt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:mt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:mt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},AO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:mt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:mt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},LO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(mt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},NO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(new mt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},DO=100,fO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("I2CSUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},FO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},PO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(mt.Msg.MOTOR_DC).appendField(mt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(mt.Msg.MOTOR_DC).appendField(mt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(mt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},YO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},XO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},xO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+mt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},yO="#A58C5B",VO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_IS_PRESSED)}},BO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_WAS_PRESSED)}},GO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_BUTTON+mt.Msg.MIXLY_GET_PRESSES)}},UO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},wO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"],[mt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down,freefall:mt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},kO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},HO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},WO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(yO),this.appendValueInput("PIN",Number).appendField(new mt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},KO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},JO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},qO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"left"],[mt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(mt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=mt.Msg.MIXLY_ESP32_NEAR;return i+{left:mt.Msg.TEXT_TRIM_LEFT,right:mt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},zO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[mt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},QO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[mt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},jO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},ZO={init:function(){this.setColour(yO),this.appendDummyInput("").appendField("LM35"+mt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LM35)}},$O={init:function(){this.setColour(yO),this.appendValueInput("I2CSUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},tE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[mt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[mt.Msg.MIXLY_ESP32_MAX30102_IR+","+mt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[mt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[mt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},iE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},nE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET+mt.Msg.HTML_COLOUR,"[2]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_IR_STRENGTH,"[1]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[mt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_E={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},aE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Altitude+mt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETPRESSURE,"pressure()"],[mt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[mt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MIXGOPE_FIELD+mt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[mt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},lE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET+mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},IE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},TE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},hE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_GETTEMPERATUE)}},ME={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},mE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},OE={init:function(){this.setColour(yO),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},EE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[mt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},RE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},cE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},CE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(mt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},SE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_SCAN_OK,"0"],[mt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[mt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},AE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},LE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},NE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},DE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},lN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},dN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},IN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},TN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},hN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},MN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},mN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ON=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},EN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},RN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},cN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},gN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},CN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},SN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},AN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},LN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},NN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},DN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},fN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+a+")\n"}},FN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},PN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},vN=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},YN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},XN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},xN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},bN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},yN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},VN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},BN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},GN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},UN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},wN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},kN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},HN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},WN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},KN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},JN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},qN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},zN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},QN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},jN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},$N=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tD=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},eD=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},iD=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},nD=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=Ot.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},sD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},oD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},_D=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},aD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},rD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},dD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ID=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},TD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},hD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},MD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},mD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},OD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},ED=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},RD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},cD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},gD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},CD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},SD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},AD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},LD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},ND=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},_f=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},pf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},af=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},uf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},rf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},df=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},If=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},Tf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},hf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},Of=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},Ef=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},Rf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},cf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+","+s+","+o+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},gf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Cf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Sf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Af=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},Lf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==_.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+p+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},Nf=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Df=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},ff=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},fX=function(){return"control.reset()\n"},FX=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},PX=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},vX=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},YX=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},XX=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},xX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},yX=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},VX=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},BX=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},GX=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},UX=function(){return"while True:\n pass\n"},wX=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},kX=function(t,e){return e.definitions_.import_os="import os","os.uname()"},HX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},WX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},KX=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},JX=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},qX=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},zX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},QX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},jX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},ZX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},$X=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},tx=zX,ex=JX,ix=qX,nx=HX,sx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ox=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_x=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},px={};px["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ot.Profile.generate(["0-18","21-46"]),input_pin:Ot.Profile.generate(["0-18","21-46"]),output_pin:Ot.Profile.generate(["0-18","21-45"]),pwm_input:Ot.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-18","21-45"]),pwm:Ot.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["1-18"]),analog:Ot.Profile.generate(["1-18"],"adc","adc"),dac_pin:Ot.Profile.generate(["17-18"]),dac:Ot.Profile.generate(["17-18"],"dac","dac"),touch:Ot.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ot.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-15"]),exlcdv:Ot.Profile.generate(["0-7"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},px["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ot.Profile.generate(["0-42","45"]),input_pin:Ot.Profile.generate(["0-42","45-46"]),output_pin:Ot.Profile.generate(["0-42","45"]),pwm_input:Ot.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-42","45"]),pwm:Ot.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["1-20"]),analog:Ot.Profile.generate(["1-20"],"adc","adc"),dac_pin:Ot.Profile.generate(["17-18"]),dac:Ot.Profile.generate(["17-18"],"dac","dac"),touch:Ot.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ot.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-15"]),exlcdv:Ot.Profile.generate(["0-7"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const ax=px,ux=20,rx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_HIGH,"HIGH"],[mt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},lx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},dx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Ix={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},Tx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},hx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_mSecond,"period"],[mt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},Mx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_FREQUENCY+mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},mx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},Ox={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_REF_VOLTAGE+mt.Msg.MIXLY_STAT).appendField(new mt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Ex={init:function(){this.setColour(ux),this.appendValueInput("pin").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Rx={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cx={init:function(){this.setColour(20),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_AS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[mt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[mt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[mt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},gx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pwm#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Cx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("dac#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Sx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("adc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Ax={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("tc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Lx=cx,Nx=Mx,Dx=Ax,fx=Ex,Fx=Rx,Px=230,vx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},Yx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Xx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Bx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Gx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Ux={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},wx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},kx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Hx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},zx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Qx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},jx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},tb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},eb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ib={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},nb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},sb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},ob={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},_b={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ab={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ub={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},rb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},lb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},db={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ib={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Tb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},hb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Mb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},mb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Ob={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Eb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Rb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},cb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gb=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},Cb=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Sb=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ab=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Lb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Nb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Db=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},fb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Fb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Pb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},vb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Yb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},Xb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},xb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},bb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},yb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Vb=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Bb=Vb,Gb=Vb,Ub=Vb,wb=Vb,kb=Vb,Hb=Vb,Wb=Vb,Kb=Vb,Jb=Vb,qb=Vb,zb=Vb,Qb=Vb,jb=Vb,Zb=Vb,$b=Vb,ty=Vb,ey=Vb,iy=Vb,ny=Vb,sy=Vb,oy=Vb,_y=Vb,py=Vb,ay=Vb,uy=Vb,ry=Vb,ly=Vb,dy=Vb,Iy=Vb,Ty=Vb,hy=Vb,My=Vb,my=Vb,Oy=Vb,Ey=Vb,Ry=Vb,cy=Vb,gy=Vb,Cy=Vb,Sy=Vb,Ay=Vb,Ly=Vb,Ny=Vb,Dy=Vb;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,Kn),mt.Python=au,mt.generator=au,Ot.Profile.default={},Object.assign(Ot.Profile,ax),Object.assign(Ot.Profile.default,ax["MixGo CE"]),Object.assign(mt.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,x,y,P,v,Y,It,Tt),Object.assign(mt.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,st,lt,rt,tt,ot,dt,z,ut,at,pt,_t,Q,q,J,it,et,nt,j,Z,$,ht,Mt)})(); \ No newline at end of file +class ct{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(mt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(Ft),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(Ft),this.appendValueInput("LIST").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(mt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Vt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:mt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Bt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(mt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Gt={init:function(){this.setColour(Ft);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:mt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ut={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new mt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return mt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Vt.OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Gt.OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(mt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(mt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:mt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ft,tooltip:mt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:mt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Qt={init:function(){this.setColour(Ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_STAT),this.setOutput(!0)}},jt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(mt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+mt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(mt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new mt.FieldDropdown([[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},te={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ee={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ie={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ne={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_GET_UNIQUE_IDEN)}},se=230;mt.FieldTextInput.math_number_validator=function(t){return String(t)},mt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const oe={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},_e={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},pe={init:function(){this.setColour(se);this.appendDummyInput("").appendField(mt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new mt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:mt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(se),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ue={init:function(){this.setColour(se),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:mt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:mt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:mt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:mt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:mt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:mt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:mt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:mt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:mt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:mt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:mt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:mt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},de={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(se),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:mt.Msg.MATH_DEC_TOOLTIP_BIN,oct:mt.Msg.MATH_DEC_TOOLTIP_OCT,hex:mt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ie={init:function(){var t=[[mt.Msg.LANG_MATH_TO_ROUND,"round"],[mt.Msg.LANG_MATH_TO_CEIL,"ceil"],[mt.Msg.LANG_MATH_TO_FLOOR,"floor"],[mt.Msg.MATH_ABS,"fabs"],[mt.Msg.MATH_SQRT,"sqrt"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).appendField(new mt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:mt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:mt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:mt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:mt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:mt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:mt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Te={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(se),this.appendValueInput("A").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:mt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:mt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[mt.Msg.MATH_TWO,"two"],[mt.Msg.MATH_EIGHT,"eight"],[mt.Msg.MATH_TEN,"ten"],[mt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(se),this.appendDummyInput("").appendField(mt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new mt.FieldDropdown(t),"OP").appendField(mt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MATH_ZHW).appendField(new mt.FieldDropdown(t),"OP2").appendField(mt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:mt.Msg.MATH_Before_two,eight:mt.Msg.MATH_Before_eight,ten:mt.Msg.MATH_Before_ten,sixteen:mt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:mt.Msg.MATH_Behind_two,eight:mt.Msg.MATH_Behind_eight,ten:mt.Msg.MATH_Behind_ten,sixteen:mt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Me={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(se),this.setOutput(!0,Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new mt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(mt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:mt.Msg.LANG_MATH_INT,float:mt.Msg.LANG_MATH_FLOAT_RANDOM};return mt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},me={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(mt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(se),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(mt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(mt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ee={init:function(){this.setColour(se),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},Re={init:function(){this.setColour(se),this.appendValueInput("NUM").setCheck(Number).appendField(mt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ce={init:function(){this.setColour(se),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MATH_ROUND).appendField(mt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(mt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(mt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ge={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:mt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:mt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ce={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(se),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:mt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:mt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Se=Oe,Ae=160,Le={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}},Ne={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(mt.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new mt.FieldImage(e,12,12,'"')}};mt.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const De={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new mt.FieldTextInput("",mt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(mt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new mt.FieldImage(e,7,12,'"')}},fe={init:function(){this.setColour(Ae),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(mt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Fe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Pe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ve={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ye={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Xe={init:function(){this.WHERE_OPTIONS=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.TEXT_GET_INDEX_RANDOM+1+mt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.LISTS_GET_INDEX_GET,"MODE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(mt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=mt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+mt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",mt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:mt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:mt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:mt.Msg.TEXT_GET_INDEX_RANDOM};return mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+mt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==mt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new mt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),mt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.LISTS_GET_INDEX_FROM_START+"n"+mt.Msg.TEXT_CHARAT2)}},be={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(mt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(mt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ye={init:function(){this.WHERE_OPTIONS_1=[[mt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[mt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[mt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[mt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==mt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),mt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(mt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new mt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ve={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(mt.Msg.LISTS_GET_INDEX_GET+" "+mt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(mt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(mt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(mt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Be={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ge={init:function(){this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_COMPARETO_HELP)}},Ue={init:function(){var t=[[mt.Msg.TEXT_UPPER,"upper"],[mt.Msg.TEXT_TITLE,"title"],[mt.Msg.TEXT_CAPITALIZE,"capitalize"],[mt.Msg.TEXT_SWAPCASE,"swapcase"],[mt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:mt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:mt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:mt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:mt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:mt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},we={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(new mt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(mt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(mt.Msg.MIXLY_MID+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(mt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},He={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},We={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(mt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(mt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ke={init:function(){this.setColour(Ae),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(mt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(mt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Je={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ae),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(mt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:mt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:mt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:mt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},qe={init:function(){this.setColour(Ae),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new mt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Hi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Wi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ki={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ji={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_TOOLTIP)}},qi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(mt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(mt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Qi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(mt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_DELETE_TOOLTIP)}},ji={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(mt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(mt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MID),this.setTooltip(mt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_CLEAR),this.setTooltip(mt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},tn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},nn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_DELDICT),this.setTooltip(mt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sn={init:function(){this.MODE=[[mt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[mt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(mt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=mt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=mt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==mt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new mt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},on={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(mt.Msg.DICTS_ADD_VALUE),this.setTooltip(mt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},_n={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(mt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(mt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},pn={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new mt.FieldLabel(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new mt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},an={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},un={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TO_JSON),this.setTooltip(mt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},rn={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(mt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ln=210,dn={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:mt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:mt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:mt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:mt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},In={init:function(){var t=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=mt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new mt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Tn={init:function(){var t=[[mt.Msg.LOGIC_OPERATION_AND,"AND"],[mt.Msg.LOGIC_OPERATION_OR,"OR"],[mt.Msg.LOGIC_OPERATION_NOR,"NOR"],[mt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:mt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:mt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:mt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},hn={init:function(){this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},Mn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},mn={init:function(){this.setColour(ln),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(mt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(mt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},En={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new mt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(mt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.IN)}},Rn={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(mt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXPY_TEXT_ENCODE).appendField(new mt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_USE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=mt.Msg.MIXLY_BELONG,_=mt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Ln={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+mt.Msg.MIXLY_MICROBIT_TYPE_STRING+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MICROBIT_PYTHON_TYPE)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.HTML_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Xn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Bn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+mt.Msg.MIXLY_ESP32_SET+{mkdir:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(mt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.HTML_FILE,"isfile"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},kn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(mt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(mt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Wn={};Wn.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Wn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Us={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(mt.Msg.HTML_FORM_CONTENT).appendField(new mt.FieldDropdown([[mt.Msg.HTML_TEXT,"text"],[mt.Msg.HTML_EMAIL,"email"],[mt.Msg.HTML_NUMBER,"number"],[mt.Msg.HTML_PASSWORD,"password"],[mt.Msg.HTML_CHECKBOX,"checkbox"],[mt.Msg.HTML_RADIOBUTTON,"radiobutton"],[mt.Msg.HTML_BUTTON,"button"],[mt.Msg.HTML_COLOUR,"colour"],[mt.Msg.HTML_DATE,"date"],[mt.Msg.HTML_LOCALTIME,"local time"],[mt.Msg.HTML_FILE,"file"],[mt.Msg.HTML_HIDDEN,"hidden"],[mt.Msg.HTML_IMAGE,"image"],[mt.Msg.HTML_MONTH,"month"],[mt.Msg.HTML_RANGE,"range"],[mt.Msg.HTML_RESET,"reset"],[mt.Msg.HTML_SEARCH,"search"],[mt.Msg.HTML_SUBMIT,"submit"],[mt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[mt.Msg.HTML_TIME,"time"],[mt.Msg.HTML_URL,"url"],[mt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(mt.Msg.HTML_NAME).appendField(new mt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(mt.Msg.HTML_VALUE).appendField(new mt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(mt.Msg.MIXLY_AIP_ATTR).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws=160,Ks={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},Js={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},qs={init:function(){this.setColour(Ws),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},zs={init:function(){this.setColour(Ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Qs={init:function(){this.setColour(Ws),this.appendDummyInput().appendTitle("Comment:").appendTitle(new mt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},js={init:function(){this.setColour(Ws),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Zs={init:function(){this.setColour(Ws),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(mt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=mt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},mt.isNumber(n)&&mt.isNumber(s)&&mt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const bp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},yp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Vp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Bp=function(t,e){return["None",e.ORDER_ATOMIC]},Gp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Up=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},wp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},kp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Hp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Wp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Kp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Jp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},qp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},zp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Qp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},$p=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ta=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ea=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ia=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},na=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},oa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},_a=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},aa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ua=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},ra=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),mt.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},qa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ja=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Za=function(t,e){return'"},$a=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},tu=function(){return this.getFieldValue("TEXT")+"\n"},eu=function(t){return t.getFieldValue("TEXT")+"\n"},iu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},su=function(){return""},ou=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},_u=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},au.scrubNakedValue=function(t){return t+"\n"},au.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},au.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},au.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=mt.utils.string.wrap(o,au.COMMENT_WRAP-3),n+=au.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const uu="#74A55B",ru={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},lu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},du={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Iu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Tu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},hu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ou={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Eu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ru={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},cu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},gu={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Su={init:function(){this.setColour(uu),this.appendValueInput("VAR").appendField("360°"+mt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Au={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Lu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Nu={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Du={init:function(){this.setColour(uu),this.appendValueInput("PIN",Number).appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new mt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(mt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Fu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[mt.Msg.MOTOR_N,"ms32006.MOT_N"],[mt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Pu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new mt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[mt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},vu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_RGB_PIN_COUNT)}},Yu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},xu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},bu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new mt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+mt.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},yu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Vu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Bu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Gu={init:function(){this.setColour(uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(mt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(mt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Uu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[mt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_WHITE,"W"],[mt.Msg.COLOUR_RGB_RED,"R"],[mt.Msg.COLOUR_RGB_YELLOW,"Y"],[mt.Msg.COLOUR_RGB_GREEN,"G"],[mt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[mt.Msg.MIXLY_SPEED,"[1]"],[mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[mt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[mt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[mt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[mt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MATH_SINGLE_OP_ABSOLUTE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},ju={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},$u={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.ME_GO_MOTOR_EXTERN+mt.Msg.MIXLY_SERVO_MOTOR).appendField(mt.Msg.MIXLY_RELATIVE+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+mt.Msg.MSG.run).appendField("("+mt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LEFT,"0"],[mt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MODE).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPEED+mt.Msg.MIXLY_MODE,"0"],[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+mt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(mt.inputs.Align.RIGHT).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"0"],[mt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(uu),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.ME_GO_MOTOR_EXTERN).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MOTOR,"ext_motor"],[mt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[mt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[mt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[mt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[mt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[mt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[mt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ir="#6C9858",nr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},sr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"1"],[mt.Msg.MIXLY_ESP32_OFF,"0"],[mt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},or={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(mt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LIGHT_RED,"1"],[mt.Msg.MIXLY_LIGHT_GREEN,"2"],[mt.Msg.MIXLY_LIGHT_BLUE,"3"],[mt.Msg.MIXLY_LIGHT_YELLOW,"4"],[mt.Msg.MIXLY_LIGHT_CYAN,"5"],[mt.Msg.MIXLY_LIGHT_PURPLE,"6"],[mt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},rr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Ir={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING).appendField(mt.Msg.MIXLY_BUILDIN_LED).appendField(new mt.FieldDropdown([[mt.Msg.COLOUR_RGB_RED,"r"],[mt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_BUILDIN_LED+mt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Tr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Rr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ot.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},cr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},gr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(mt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.PYTHON_RANGE_STEP).appendField(mt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TICKS").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(mt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(mt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ar={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Lr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fr={init:function(){this.setColour(ir),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Fr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField("MixGo Car").appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_STOP).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"1"],[mt.Msg.TEXT_TRIM_RIGHT,"2"],[mt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[mt.Msg.MIXLY_SPEED,"SPEED"],[mt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.blockpy_forward,"F"],[mt.Msg.blockpy_backward,"B"],[mt.Msg.blockpy_left,"L"],[mt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(new mt.FieldDropdown([[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.BITBOT).appendField(mt.Msg.MIXLY_MOTOR).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"0"],[mt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(ir),this.appendValueInput("bright").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MIXBOT_BUZZER+mt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_RECORD_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_AUDIO).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},jr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.PIN_NUMBERING).appendField(new mt.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},tl={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.ME_GO_MOTOR_EXTERN).appendField(mt.Msg.MIXLY_ALL+mt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(mt.ALIGN_RIGHT).appendField(mt.Msg.blynk_IOT_IR_POWER+mt.Msg.MIXLY_PINMODEOUT+mt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},el={init:function(){this.setColour(ir),this.appendDummyInput().appendField(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RELEASE).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.ANALOG+mt.Msg.MIXLY_KEYBOARD_INPUT)}},il={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SPECIAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[mt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[mt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[mt.Msg.MIXLY_SPECIAL_KEY1,"0x04"],[mt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[mt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[mt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[mt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[mt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},nl={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GENERAL_KEY).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},sl={init:function(){this.setColour(ir),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new mt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(mt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Cm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Sm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Am={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Lm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(mt.Msg.MIXLY_WIFI_USERNAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.MIXLY_IOT_PASSWORD).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(mt.Msg.MIXLY_EMQX_PROJECT).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(mt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Dm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(mt.Msg.MIXLY_EMQX_SUBSCRIBE+mt.Msg.MIXLY_MICROBIT_MSG).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},xm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},ym={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(mt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Vm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+mt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField(mt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(mt.Msg.MIXLY_EMQX_SERVER).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Mm),this.appendDummyInput("").appendField(new mt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Um={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(mt.Msg.MIXLY_REQUESTS_GET).appendField(mt.Msg.MIXLY_GET_CURRENT_TIME).appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},km={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("HTTP"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Hm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(mt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(mt.Msg.MQTT_Topic).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(mt.Msg.MIXLY_OPEN_DEBUG).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Mm),this.appendDummyInput().appendField("MQTT"+mt.Msg.MIXLY_Client).appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[mt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[mt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Km=mm,Jm=Om,qm=Em,zm=Rm,Qm=gm,jm=225,Zm={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(mt.Msg.MIXLY_NETWORK_MODE).appendField(new mt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$m={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[mt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=mt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:mt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:mt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:mt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT+mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(mt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(mt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},oO={init:function(){this.setColour(jm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},_O={init:function(){this.setColour(jm),this.appendValueInput("url").appendField(mt.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},pO={init:function(){this.setColour(jm),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},aO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[mt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:mt.Msg.MIXLY_ESP32_NETWORK_IP,1:mt.Msg.MIXLY_ESP32_NETWORK_MASK,2:mt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},uO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},rO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},lO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(mt.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(mt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},dO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},IO={init:function(){this.setColour(jm),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},TO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},hO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},MO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},mO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},OO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},EO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},RO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},gO={init:function(){this.setColour(jm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},CO={init:function(){this.setColour(jm),this.appendValueInput("DOMAIN").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS_GET).appendField(new mt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[mt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:mt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:mt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:mt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},AO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:mt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:mt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},LO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(mt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},NO={init:function(){this.setColour(jm),this.appendDummyInput("").appendField(new mt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},DO=100,fO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("I2CSUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},FO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},PO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(mt.Msg.MOTOR_DC).appendField(mt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.CLOCKWISE,"CW"],[mt.Msg.ANTI_CLOCKWISE,"CCW"],[mt.Msg.MOTOR_P,"P"],[mt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(mt.Msg.MOTOR_DC).appendField(mt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(mt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},YO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_MOVE)}},XO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},xO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+mt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){var t=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(DO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+mt.Msg.MIXLY_SERVO).appendField(mt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},yO="#A58C5B",VO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_IS_PRESSED)}},BO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_SENOR_WAS_PRESSED)}},GO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.PROCEDURES_DEFRETURN_RETURN+mt.Msg.MIXLY_BUTTON+mt.Msg.MIXLY_GET_PRESSES)}},UO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_BUTTON).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},wO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"],[mt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down,freefall:mt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},kO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},HO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},WO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(yO),this.appendValueInput("PIN",Number).appendField(new mt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:mt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},KO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},JO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},qO={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"left"],[mt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(mt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=mt.Msg.MIXLY_ESP32_NEAR;return i+{left:mt.Msg.TEXT_TRIM_LEFT,right:mt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},zO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[mt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":mt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},QO={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[mt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},jO={init:function(){this.setColour(yO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},ZO={init:function(){this.setColour(yO),this.appendDummyInput("").appendField("LM35"+mt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_LM35)}},$O={init:function(){this.setColour(yO),this.appendValueInput("I2CSUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},tE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[mt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[mt.Msg.MIXLY_ESP32_MAX30102_IR+","+mt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[mt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[mt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},iE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},nE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET+mt.Msg.HTML_COLOUR,"[2]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_IR_STRENGTH,"[1]"],[mt.Msg.MIXLY_GET+mt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[mt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_E={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:mt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},aE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Altitude+mt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_GETPRESSURE,"pressure()"],[mt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[mt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MIXGOPE_FIELD+mt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[mt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_shake,"shake"],[mt.Msg.MIXLY_UP,"up"],[mt.Msg.MIXLY_DOWN,"down"],[mt.Msg.MIXLY_LEFT,"left"],[mt.Msg.MIXLY_RIGHT,"right"],[mt.Msg.MIXLY_MICROBIT_face_up,"face up"],[mt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=mt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=mt.Msg.MSG.catSensor,s=mt.Msg.MIXLY_MICROBIT_JS_STATE,o=mt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:mt.Msg.MIXLY_MICROBIT_shake,up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT,"face up":mt.Msg.MIXLY_MICROBIT_face_up,"face down":mt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},lE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET+mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},IE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new mt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=mt.Msg.MIXLY_MICROBIT_Direction,s=mt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":mt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},TE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},hE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_GETTEMPERATUE)}},ME={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return mt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:mt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},mE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},OE={init:function(){this.setColour(yO),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new mt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},EE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[mt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},RE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},cE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"+mt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},CE={init:function(){this.setColour(yO),this.appendDummyInput().appendField(mt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(mt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(mt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(mt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},SE={init:function(){this.setColour(yO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RFID_SCAN_OK,"0"],[mt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[mt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},AE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new mt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},LE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},NE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},DE={init:function(){this.setColour(yO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new mt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},lN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},dN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},IN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},TN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},hN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},MN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},mN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ON=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},EN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},RN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},cN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},gN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},CN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},SN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},AN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},LN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},NN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},DN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},fN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+a+")\n"}},FN=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},PN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},vN=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},YN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},XN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},xN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},bN=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},yN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},VN=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},BN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},GN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},UN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},wN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},kN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},HN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},WN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},KN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},JN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},qN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},zN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},QN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},jN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},$N=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tD=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},eD=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},iD=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},nD=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=Ot.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},sD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},oD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},_D=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},aD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},rD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},dD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ID=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},TD=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},hD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},MD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},mD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},OD=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},ED=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},RD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},cD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},gD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},CD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},SD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},AD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},LD=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},ND=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},_f=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},pf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},af=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},uf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},rf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},df=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},If=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},Tf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},hf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},mf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},Of=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},Ef=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},Rf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},cf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+","+s+","+o+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},gf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Cf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Sf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Af=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},Lf=function(t,e){var i=Ot.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==_.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+p+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},Nf=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Df=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},ff=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},fX=function(){return"control.reset()\n"},FX=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},PX=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},vX=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},YX=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},XX=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},xX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},yX=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},VX=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},BX=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},GX=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},UX=function(){return"while True:\n pass\n"},wX=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},kX=function(t,e){return e.definitions_.import_os="import os","os.uname()"},HX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},WX=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},KX=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},JX=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},qX=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},zX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},QX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},jX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},ZX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},$X=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},tx=zX,ex=JX,ix=qX,nx=HX,sx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ox=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_x=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},px={};px["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ot.Profile.generate(["0-18","21-46"]),input_pin:Ot.Profile.generate(["0-18","21-46"]),output_pin:Ot.Profile.generate(["0-18","21-45"]),pwm_input:Ot.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-18","21-45"]),pwm:Ot.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["1-18"]),analog:Ot.Profile.generate(["1-18"],"adc","adc"),dac_pin:Ot.Profile.generate(["17-18"]),dac:Ot.Profile.generate(["17-18"],"dac","dac"),touch:Ot.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ot.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-15"]),exlcdv:Ot.Profile.generate(["0-7"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},px["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ot.Profile.generate(["0-42","45"]),input_pin:Ot.Profile.generate(["0-42","45-46"]),output_pin:Ot.Profile.generate(["0-42","45"]),pwm_input:Ot.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:Ot.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:Ot.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:Ot.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:Ot.Profile.generate(["1-13"]),haskylens_model:Ot.Profile.generate(["0-4"]),digital:Ot.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:Ot.Profile.generate(["0-42","45"]),pwm:Ot.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:Ot.Profile.generate(["1-20"]),analog:Ot.Profile.generate(["1-20"],"adc","adc"),dac_pin:Ot.Profile.generate(["17-18"]),dac:Ot.Profile.generate(["17-18"],"dac","dac"),touch:Ot.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ot.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ot.Profile.generate(["0-4"]),exlcdh:Ot.Profile.generate(["0-15"]),exlcdv:Ot.Profile.generate(["0-7"]),brightness:Ot.Profile.generate(["0-9"]),tts_voice:Ot.Profile.generate(["0-16"]),tts_builtin_music:Ot.Profile.generate(["0-47"]),tts_bgmusic:Ot.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const ax=px,ux=20,rx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_HIGH,"HIGH"],[mt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},lx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},dx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Ix={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},Tx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},hx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_mSecond,"period"],[mt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},Mx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(mt.Msg.MIXLY_FREQUENCY+mt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},mx={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},Ox={init:function(){this.setColour(ux),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_REF_VOLTAGE+mt.Msg.MIXLY_STAT).appendField(new mt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Ex={init:function(){this.setColour(ux),this.appendValueInput("pin").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Rx={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MODE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[mt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[mt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cx={init:function(){this.setColour(20),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROPYTHON_AS).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[mt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[mt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[mt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},gx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("pwm#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Cx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("dac#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+mt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Sx={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("adc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Ax={init:function(){this.setColour(ux),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldTextInput("tc#"),"PIN_OBJ").appendField(mt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){mt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Lx=cx,Nx=Mx,Dx=Ax,fx=Ex,Fx=Rx,Px=230,vx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},Yx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Xx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Bx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Gx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Ux={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},wx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},kx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Hx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},zx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Qx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},jx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},tb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},eb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ib={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},nb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},sb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},ob={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},_b={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ab={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ub={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},rb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},lb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},db={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ib={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Tb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},hb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Mb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},mb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Ob={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Eb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Rb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},cb={init:function(){this.setColour(Px),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gb=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},Cb=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Sb=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ab=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Lb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Nb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Db=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},fb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Fb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Pb=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},vb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Yb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},Xb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},xb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},bb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},yb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,mt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Vb=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Bb=Vb,Gb=Vb,Ub=Vb,wb=Vb,kb=Vb,Hb=Vb,Wb=Vb,Kb=Vb,Jb=Vb,qb=Vb,zb=Vb,Qb=Vb,jb=Vb,Zb=Vb,$b=Vb,ty=Vb,ey=Vb,iy=Vb,ny=Vb,sy=Vb,oy=Vb,_y=Vb,py=Vb,ay=Vb,uy=Vb,ry=Vb,ly=Vb,dy=Vb,Iy=Vb,Ty=Vb,hy=Vb,My=Vb,my=Vb,Oy=Vb,Ey=Vb,Ry=Vb,cy=Vb,gy=Vb,Cy=Vb,Sy=Vb,Ay=Vb,Ly=Vb,Ny=Vb,Dy=Vb;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,Kn),mt.Python=au,mt.generator=au,Ot.Profile.default={},Object.assign(Ot.Profile,ax),Object.assign(Ot.Profile.default,ax["MixGo CE"]),Object.assign(mt.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,x,y,P,v,Y,It,Tt),Object.assign(mt.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,st,lt,rt,tt,ot,dt,z,ut,at,pt,_t,Q,q,J,it,et,nt,j,Z,$,ht,Mt)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/styles/main.2f1df1e2.css b/boards/default/micropython_esp32s2/styles/main.4ebcc01b.css similarity index 100% rename from boards/default/micropython_esp32s2/styles/main.2f1df1e2.css rename to boards/default/micropython_esp32s2/styles/main.4ebcc01b.css diff --git a/boards/default/micropython_esp32s3/index.xml b/boards/default/micropython_esp32s3/index.xml index ee7bda83..0fb1af7a 100644 --- a/boards/default/micropython_esp32s3/index.xml +++ b/boards/default/micropython_esp32s3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180291001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav000000000010001000001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,0wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSfsxo7MfAaNO1U_Pq北京Sfsxo7MfAaNO1U_Pq北京1Sfsxo7MfAaNO1U_Pq北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx1620000211000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensormidi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180291001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav000000000010001000001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,0wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSfsxo7MfAaNO1U_Pq北京Sfsxo7MfAaNO1U_Pq北京1Sfsxo7MfAaNO1U_Pq北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx1620000211000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensormidi0midi440midi4401000midimidimidi4120midimidirgb04rgb0000rgb000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402ttsttsttsttstts你好米思齐100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixi2c_extend45100000dispi2c_extenddisp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/main.bundle.js b/boards/default/micropython_esp32s3/main.bundle.js index 8688b174..ab0621ca 100644 --- a/boards/default/micropython_esp32s3/main.bundle.js +++ b/boards/default/micropython_esp32s3/main.bundle.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ht.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ht.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ht.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(ht.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},xt={init:function(){this.setColour(Dt),this.appendValueInput("FROM").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PYTHON_RANGE).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Xt={init:function(){this.setColour(Dt),this.appendValueInput("LIST").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ht.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ht.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bt={init:function(){this.setColour(Dt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ht.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ht.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:ht.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ht.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ht.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ht.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Dt);var t=new ht.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:ht.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ht.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Bt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ht.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ht.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ht.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ht.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};bt.OPERATORS=[[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],yt.OPERATORS=[[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Ut={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},wt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ht.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(Dt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Wt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ht.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Kt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ht.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Jt={init:function(){this.jsonInit({message0:ht.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Dt,tooltip:ht.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ht.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Qt={init:function(){this.setColour(Dt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_STAT),this.setOutput(!0)}},qt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},zt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ht.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},jt={init:function(){this.appendDummyInput().appendField(ht.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ht.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ht.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ht.FieldDropdown([[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Dt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$t={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},te={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ee={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_GET_UNIQUE_IDEN)}},ie=230;ht.FieldTextInput.math_number_validator=function(t){return String(t)},ht.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ne={init:function(){this.setColour(ie),this.appendDummyInput().appendField(new ht.FieldTextInput("0",ht.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(ie);this.appendDummyInput("").appendField(ht.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ht.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},oe={init:function(){this.setColour(ie);this.appendDummyInput("").appendField(ht.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ht.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},_e={init:function(){this.setColour(ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ht.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ht.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ht.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},pe={init:function(){this.setColour(ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ht.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ht.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ht.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ae={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ht.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ue={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ht.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:ht.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ht.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ht.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ht.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ht.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ht.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ht.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},re={init:function(){var t=[[ht.Msg.MATH_BIN,"bin"],[ht.Msg.MATH_OCT,"oct"],[ht.Msg.MATH_HEX,"hex"]];this.setColour(ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ht.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:ht.Msg.MATH_DEC_TOOLTIP_BIN,oct:ht.Msg.MATH_DEC_TOOLTIP_OCT,hex:ht.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},le={init:function(){var t=[[ht.Msg.LANG_MATH_TO_ROUND,"round"],[ht.Msg.LANG_MATH_TO_CEIL,"ceil"],[ht.Msg.LANG_MATH_TO_FLOOR,"floor"],[ht.Msg.MATH_ABS,"fabs"],[ht.Msg.MATH_SQRT,"sqrt"]];this.setColour(ie),this.appendValueInput("A").setCheck(Number).appendField(new ht.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:ht.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ht.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ht.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ht.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ht.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ht.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},de={init:function(){var t=[[ht.Msg.MIXLY_MAX,"max"],[ht.Msg.MIXLY_MIN,"min"]];this.setColour(ie),this.appendValueInput("A").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ht.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:ht.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ht.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ie={init:function(){var t=[[ht.Msg.MATH_TWO,"two"],[ht.Msg.MATH_EIGHT,"eight"],[ht.Msg.MATH_TEN,"ten"],[ht.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(ie),this.appendDummyInput("").appendField(ht.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ht.FieldDropdown(t),"OP").appendField(ht.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MATH_ZHW).appendField(new ht.FieldDropdown(t),"OP2").appendField(ht.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:ht.Msg.MATH_Before_two,eight:ht.Msg.MATH_Before_eight,ten:ht.Msg.MATH_Before_ten,sixteen:ht.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:ht.Msg.MATH_Behind_two,eight:ht.Msg.MATH_Behind_eight,ten:ht.Msg.MATH_Behind_ten,sixteen:ht.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Te={init:function(){var t=[[ht.Msg.LANG_MATH_INT,"int"],[ht.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ht.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:ht.Msg.LANG_MATH_INT,float:ht.Msg.LANG_MATH_FLOAT_RANDOM};return ht.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},he={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ht.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ht.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ht.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ht.Msg.MATH_CONSTRAIN_TOOLTIP)}},Me={init:function(){this.setColour(ie),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ht.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ht.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_MATH_MAP)}},me={init:function(){this.setColour(ie),this.appendDummyInput().appendField(new ht.FieldTextInput("0",ht.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ht.Msg.MATH_NUMBER_TOOLTIP)}},Oe={init:function(){this.setColour(ie),this.appendValueInput("NUM").setCheck(Number).appendField(ht.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ee={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MATH_ROUND).appendField(ht.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ht.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ht.Msg.MATH_ROUND_NEW_TOOLTIP)}},Re={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"],[ht.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ie),this.appendValueInput("VAR").appendField(new ht.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ht.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ht.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ht.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ce={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ie),this.appendValueInput("VAR").appendField(new ht.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ht.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ht.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ge=Me,Ce=160,Se={init:function(){this.setColour(Ce),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ht.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ht.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ht.FieldImage(e,12,12,'"')}},Ae={init:function(){this.setColour(Ce),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ht.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ht.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ht.FieldImage(e,12,12,'"')}};ht.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Le={init:function(){this.setColour(Ce),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ht.FieldTextInput("",ht.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ht.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new ht.FieldImage(e,7,12,'"')}},Ne={init:function(){this.setColour(Ce),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ht.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},De={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},fe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(String).appendField(ht.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Pe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Fe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ve={init:function(){this.WHERE_OPTIONS=[[ht.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ht.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ht.Msg.TEXT_GET_INDEX_RANDOM+1+ht.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ht.Msg.LISTS_GET_INDEX_GET,"MODE"),ht.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ht.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ht.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ht.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:ht.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ht.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ht.Msg.TEXT_GET_INDEX_RANDOM};return ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+ht.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==ht.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),ht.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ht.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new ht.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),ht.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ye={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ht.Msg.LISTS_GET_INDEX_GET+" "+ht.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ht.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_MICROBIT_TYPE_STRING+ht.Msg.LISTS_GET_INDEX_FROM_START+"n"+ht.Msg.TEXT_CHARAT2)}},xe={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ht.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ht.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Xe={init:function(){this.WHERE_OPTIONS_1=[[ht.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ht.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ht.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ht.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ht.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ht.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ht.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==ht.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==ht.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),ht.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(ht.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new ht.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},be={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ht.Msg.LISTS_GET_INDEX_GET+" "+ht.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ht.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ht.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ht.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ve={init:function(){var t=[[ht.Msg.MIXLY_EQUALS,"==="],[ht.Msg.MIXLY_STARTSWITH,"startswith"],[ht.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ht.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ye={init:function(){this.setColour(Ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ht.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_COMPARETO_HELP)}},Be={init:function(){var t=[[ht.Msg.TEXT_UPPER,"upper"],[ht.Msg.TEXT_TITLE,"title"],[ht.Msg.TEXT_CAPITALIZE,"capitalize"],[ht.Msg.TEXT_SWAPCASE,"swapcase"],[ht.Msg.TEXT_LOWER,"lower"]];this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ht.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:ht.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ht.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ht.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ht.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ht.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Ge={init:function(){var t=[[ht.Msg.TEXT_LJUST,"ljust"],[ht.Msg.TEXT_CENTER,"center"],[ht.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ce),this.appendValueInput("VAR").appendField(new ht.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ht.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ht.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Ue={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ht.Msg.MIXLY_MID+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ht.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},we={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},ke={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ht.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ht.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},He={init:function(){this.setColour(Ce),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ht.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ht.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},We={init:function(){var t=[[ht.Msg.TEXT_TRIM_BOTH,"strip"],[ht.Msg.TEXT_TRIM_LEFT,"lstrip"],[ht.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ce),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ht.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ht.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(ht.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:ht.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ht.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ht.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ke={init:function(){this.setColour(Ce),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ht.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ht.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wi={init:function(){this.setColour(Gi),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ki={init:function(){this.setColour(Gi),this.appendDummyInput().appendField(ht.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Hi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_KEYS),this.setTooltip(ht.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Wi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ht.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ht.Msg.DICTS_GET_TOOLTIP)}},Ki={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ht.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ht.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ht.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(Gi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ht.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Qi={init:function(){this.setColour(Gi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ht.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_DELETE_TOOLTIP)}},qi={init:function(){this.setColour(Gi),this.appendValueInput("DICT2").setCheck("Dict").appendField(ht.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ht.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MID),this.setTooltip(ht.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_CLEAR),this.setTooltip(ht.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ji={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_ITEMS),this.setTooltip(ht.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_VALUES),this.setTooltip(ht.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},$i={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LENGTH),this.setTooltip(ht.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},tn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_DELDICT),this.setTooltip(ht.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},en={init:function(){this.MODE=[[ht.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ht.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ht.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=ht.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=ht.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==ht.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new ht.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},nn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ht.Msg.DICTS_ADD_VALUE),this.setTooltip(ht.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},sn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ht.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_SETDEFAULT_TOOLTIP)}},on={init:function(){this.setColour(Gi),this.appendDummyInput("").appendField(new ht.FieldLabel(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ht.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(Gi),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},pn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TO_JSON),this.setTooltip(ht.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},an={init:function(){this.setColour(Gi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ht.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},un=210,rn={init:function(){var t=ht.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:ht.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ht.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ht.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ht.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ht.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ht.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},ln={init:function(){var t=ht.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=ht.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new ht.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},dn={init:function(){var t=[[ht.Msg.LOGIC_OPERATION_AND,"AND"],[ht.Msg.LOGIC_OPERATION_OR,"OR"],[ht.Msg.LOGIC_OPERATION_NOR,"NOR"],[ht.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:ht.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ht.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ht.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ht.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},In={init:function(){this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ht.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ht.Msg.LOGIC_NEGATE_TOOLTIP)}},Tn={init:function(){var t=[[ht.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ht.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ht.FieldDropdown(t),"BOOL"),this.setTooltip(ht.Msg.LOGIC_BOOLEAN_TOOLTIP)}},hn={init:function(){this.setColour(un),this.setOutput(!0),this.appendDummyInput().appendField(ht.Msg.LOGIC_NULL),this.setTooltip(ht.Msg.LOGIC_NULL_TOOLTIP)}},Mn={init:function(){this.setColour(un),this.appendValueInput("A"),this.appendValueInput("B").appendField(ht.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ht.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},mn={init:function(){var t=[[ht.Msg.TEXT_APPEND_TO,"in"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(un),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ht.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(ht.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.IN)}},On={init:function(){var t=[[ht.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(un),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},En={init:function(){this.setColour(un),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Rn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ht.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_USE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ht.Msg.MIXLY_BELONG;return i+{r:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_USE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ht.Msg.MIXLY_BELONG,_=ht.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ht.Msg.MIXPY_TEXT_ENCODE).appendField(new ht.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_USE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ht.Msg.MIXLY_BELONG,_=ht.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Sn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ht.Msg.MIXLY_MICROBIT_TYPE_STRING+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},An={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Ln={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ht.Msg.MICROBIT_PYTHON_TYPE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.HTML_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},bn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Vn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ht.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ht.Msg.MIXLY_ESP32_SET+{mkdir:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ht.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.HTML_FILE,"isfile"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Un={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ht.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},wn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ht.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},kn={};kn.NAME_TYPE=ht.PROCEDURE_CATEGORY_NAME,kn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(ht.Msg.MIXLY_AIP_ATTR).setAlign(ht.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys={init:function(){this.setColour(vs),this.appendDummyInput().appendField(ht.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Bs={init:function(){this.setColour(vs),this.appendDummyInput().appendField(ht.Msg.HTML_FORM_CONTENT).appendField(new ht.FieldDropdown([[ht.Msg.HTML_TEXT,"text"],[ht.Msg.HTML_EMAIL,"email"],[ht.Msg.HTML_NUMBER,"number"],[ht.Msg.HTML_PASSWORD,"password"],[ht.Msg.HTML_CHECKBOX,"checkbox"],[ht.Msg.HTML_RADIOBUTTON,"radiobutton"],[ht.Msg.HTML_BUTTON,"button"],[ht.Msg.HTML_COLOUR,"colour"],[ht.Msg.HTML_DATE,"date"],[ht.Msg.HTML_LOCALTIME,"local time"],[ht.Msg.HTML_FILE,"file"],[ht.Msg.HTML_HIDDEN,"hidden"],[ht.Msg.HTML_IMAGE,"image"],[ht.Msg.HTML_MONTH,"month"],[ht.Msg.HTML_RANGE,"range"],[ht.Msg.HTML_RESET,"reset"],[ht.Msg.HTML_SEARCH,"search"],[ht.Msg.HTML_SUBMIT,"submit"],[ht.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ht.Msg.HTML_TIME,"time"],[ht.Msg.HTML_URL,"url"],[ht.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ht.Msg.HTML_NAME).appendField(new ht.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ht.Msg.HTML_VALUE).appendField(new ht.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ht.Msg.MIXLY_AIP_ATTR).setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(vs),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(vs),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(vs),this.appendDummyInput().appendField(ht.Msg.HTML_TEXT).appendField(new ht.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks=160,Hs={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ht.FieldTable(""),"TEXT")}},Ws={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT")}},Ks={init:function(){this.setColour(ks),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Js={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Qs={init:function(){this.setColour(ks),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ht.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},qs={init:function(){this.setColour(ks),this.appendValueInput("VALUE").appendField(ht.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},zs={init:function(){this.setColour(ks),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ht.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ht.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=ht.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},ht.isNumber(n)&&ht.isNumber(s)&&ht.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const xp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Xp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},bp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Vp=function(t,e){return["None",e.ORDER_ATOMIC]},yp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Bp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Gp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Up=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},wp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},kp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Hp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Wp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Kp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Jp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Qp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},jp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Zp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},$p=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ta=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ea=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},sa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},oa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},_a=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},aa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},ra=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},la=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),ht.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Wa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ka=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},qa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},za=function(t,e){return'"},ja=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Za=function(){return this.getFieldValue("TEXT")+"\n"},$a=function(t){return t.getFieldValue("TEXT")+"\n"},tu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},eu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},iu=function(){return""},nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},su=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},_u.scrubNakedValue=function(t){return t+"\n"},_u.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},_u.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},_u.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ht.utils.string.wrap(o,_u.COMMENT_WRAP-3),n+=_u.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const pu="#74A55B",au={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_RGB_PIN_COUNT)}},uu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ru={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},lu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},du={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ht.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ht.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Iu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Tu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_RESET)}},hu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},mu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ou={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Eu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Ru={init:function(){this.setColour(pu),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cu={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_MOVE)}},gu={init:function(){this.setColour(pu),this.appendValueInput("VAR").appendField("360°"+ht.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SETTING+ht.Msg.blockpy_turtle_rotate+ht.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Cu={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("180°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_MOVE)}},Su={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Au={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("180°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lu={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ht.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ht.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Du={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ht.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ht.Msg.MOTOR_N,"ms32006.MOT_N"],[ht.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},fu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ht.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ht.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Pu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_RGB_PIN_COUNT)}},Fu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},vu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Yu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_WRI)}},xu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ht.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+ht.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},Xu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ht.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},bu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Vu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ht.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ht.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},yu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ht.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ht.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Bu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Gu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Uu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},wu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LISTS_SET_INDEX_SET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ku={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_WHITE,"W"],[ht.Msg.COLOUR_RGB_RED,"R"],[ht.Msg.COLOUR_RGB_YELLOW,"Y"],[ht.Msg.COLOUR_RGB_GREEN,"G"],[ht.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_WHITE,"W"],[ht.Msg.COLOUR_RGB_RED,"R"],[ht.Msg.COLOUR_RGB_YELLOW,"Y"],[ht.Msg.COLOUR_RGB_GREEN,"G"],[ht.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ht.Msg.MIXLY_SPEED,"[1]"],[ht.Msg.MATH_SINGLE_OP_ABSOLUTE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ht.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ht.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ht.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ht.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ht.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MATH_SINGLE_OP_ABSOLUTE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MODE).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPEED+ht.Msg.MIXLY_MODE,"0"],[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ht.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"0"],[ht.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ht.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},qu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField("("+ht.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MODE).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPEED+ht.Msg.MIXLY_MODE,"0"],[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ht.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},ju={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField("("+ht.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MODE).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPEED+ht.Msg.MIXLY_MODE,"0"],[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ht.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"0"],[ht.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MOTOR,"ext_motor"],[ht.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ht.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ht.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ht.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ht.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ht.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ht.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MOTOR,"ext_motor"],[ht.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ht.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ht.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ht.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ht.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ht.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ht.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr="#6C9858",er={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},ir={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_ON,"1"],[ht.Msg.MIXLY_ESP32_OFF,"0"],[ht.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},sr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ht.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},or={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},_r={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_BUILDIN_LED+ht.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},pr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LCD_SETCOLOR).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LIGHT_RED,"1"],[ht.Msg.MIXLY_LIGHT_GREEN,"2"],[ht.Msg.MIXLY_LIGHT_BLUE,"3"],[ht.Msg.MIXLY_LIGHT_YELLOW,"4"],[ht.Msg.MIXLY_LIGHT_CYAN,"5"],[ht.Msg.MIXLY_LIGHT_PURPLE,"6"],[ht.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ar={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},ur={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ht.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},rr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},lr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_BUILDIN_LED+ht.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},dr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ir={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Tr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_DURATION).appendField(ht.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Mr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ht.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.PYTHON_RANGE_STEP).appendField(ht.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_WRI)}},Or={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Er={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Rr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ht.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.PYTHON_RANGE_STEP).appendField(ht.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cr={init:function(){this.setColour(tr),this.appendValueInput("TICKS").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ht.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ht.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},gr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Cr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_RESET)}},Sr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ar={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Lr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nr={init:function(){this.setColour(tr),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Dr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MOTOR_DC).appendField(new ht.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(tr),this.appendDummyInput().appendField("MixGo Car").appendField(new ht.FieldDropdown([[ht.Msg.blockpy_forward,"F"],[ht.Msg.blockpy_backward,"B"],[ht.Msg.blockpy_left,"L"],[ht.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField("MixGo Car").appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MOTOR_DC).appendField(new ht.FieldDropdown([[ht.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ht.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MOTOR_DC).appendField(new ht.FieldDropdown([[ht.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ht.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_STOP).appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},xr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(new ht.FieldDropdown([[ht.Msg.blockpy_forward,"F"],[ht.Msg.blockpy_backward,"B"],[ht.Msg.blockpy_left,"L"],[ht.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ht.Msg.MIXLY_SPEED,"SPEED"],[ht.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(ht.Msg.MIXLY_MOTOR).appendField(new ht.FieldDropdown([[ht.Msg.TEXT_TRIM_LEFT,"1"],[ht.Msg.TEXT_TRIM_RIGHT,"2"],[ht.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ht.Msg.MIXLY_SPEED,"SPEED"],[ht.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Vr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.BITBOT).appendField(new ht.FieldDropdown([[ht.Msg.blockpy_forward,"F"],[ht.Msg.blockpy_backward,"B"],[ht.Msg.blockpy_left,"L"],[ht.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.BITBOT).appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.BITBOT).appendField(ht.Msg.MIXLY_MOTOR).appendField(new ht.FieldDropdown([[ht.Msg.TEXT_TRIM_LEFT,"0"],[ht.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(tr),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},wr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},kr={init:function(){this.setColour(tr),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_MIXBOT_BUZZER+ht.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_MIXBOT_BUZZER+ht.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(tr),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_RECORD_AUDIO).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ht.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(tr),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_PLAY_AUDIO).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(tr),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},qr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.LISTS_SET_INDEX_SET+ht.Msg.ME_GO_MOTOR_EXTERN).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.blynk_IOT_IR_POWER+ht.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},jr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.ME_GO_MOTOR_EXTERN).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.blynk_IOT_IR_POWER+ht.Msg.MIXLY_PINMODEOUT+ht.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.LISTS_SET_INDEX_SET+ht.Msg.ME_GO_MOTOR_EXTERN).appendField(ht.Msg.MIXLY_ALL+ht.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ht.ALIGN_RIGHT).appendField(ht.Msg.blynk_IOT_IR_POWER+ht.Msg.MIXLY_PINMODEOUT+ht.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$r={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.ANALOG+ht.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ht.Msg.MIXLY_RELEASE).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.ANALOG+ht.Msg.MIXLY_KEYBOARD_INPUT)}},tl={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SPECIAL_KEY).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPECIAL_KEY0,"0"],[ht.Msg.MIXLY_SPECIAL_KEY1,"1"],[ht.Msg.MIXLY_SPECIAL_KEY2,"2"],[ht.Msg.MIXLY_SPECIAL_KEY1,"4"],[ht.Msg.MIXLY_SPECIAL_KEY8,"8"],[ht.Msg.MIXLY_SPECIAL_KEY16,"16"],[ht.Msg.MIXLY_SPECIAL_KEY32,"32"],[ht.Msg.MIXLY_SPECIAL_KEY64,"64"],[ht.Msg.MIXLY_SPECIAL_KEY128,"128"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GENERAL_KEY).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPECIAL_KEY0,"0"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1","0x1E"],["2","0x1F"],["3","0x20"],["4","0x21"],["5","0x22"],["6","0x23"],["7","0x24"],["8","0x25"],["9","0x26"],["0","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["-","0x2D"],["=","0x2E"],["{","0x2F"],["}","0x30"],["\\","0x31"],[";","0x33"],['"',"0x34"],["`","0x35"],[",","0x36"],[".","0x37"],["/","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},il={init:function(){this.setColour(tr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ht.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ht.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$M={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},tm={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},em={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},im={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ht.Msg.MIXLY_EMQX_SERVER).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ht.Msg.MIXLY_WIFI_USERNAME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ht.Msg.MIXLY_IOT_PASSWORD).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ht.Msg.MIXLY_EMQX_PROJECT).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ht.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ht.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},sm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ht.Msg.MIXLY_EMQX_SUBSCRIBE+ht.Msg.MIXLY_MICROBIT_MSG).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},om={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_m={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},am={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},um={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},rm={init:function(){this.setColour(KM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},lm={init:function(){this.setColour(KM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},dm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Im={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO").appendField(ht.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ht.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Tm={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ht.Msg.MIXLY_EMQX_SERVER).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+ht.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ht.Msg.MIXLY_EMQX_SERVER).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mm={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(KM),this.appendDummyInput("").appendField(new ht.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},mm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO").appendField(ht.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Om={init:function(){this.setColour(KM),this.appendDummyInput().appendField("HTTP"+ht.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ht.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ht.Msg.MIXLY_REQUESTS_GET).appendField(ht.Msg.MIXLY_GET_CURRENT_TIME).appendField(ht.Msg.MIXLY_OPEN_DEBUG).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Em={init:function(){this.setColour(KM),this.appendDummyInput().appendField("HTTP"+ht.Msg.MIXLY_Client).appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ht.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ht.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MQTT"+ht.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ht.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ht.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ht.Msg.MQTT_Topic).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ht.Msg.MIXLY_OPEN_DEBUG).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MQTT"+ht.Msg.MIXLY_Client).appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ht.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ht.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},gm=JM,Cm=QM,Sm=qM,Am=zM,Lm=ZM,Nm=225,Dm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ht.Msg.MIXLY_NETWORK_MODE).appendField(new ht.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},fm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ht.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=ht.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ht.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ht.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Pm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Fm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ht.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ht.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},vm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ht.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ht.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Ym={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_CONNECT+ht.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},xm={init:function(){this.setColour(Nm),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ht.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ht.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Xm={init:function(){this.setColour(Nm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},bm={init:function(){this.setColour(Nm),this.appendValueInput("url").appendField(ht.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},Vm={init:function(){this.setColour(Nm),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},ym={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ht.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ht.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ht.Msg.MIXLY_ESP32_NETWORK_IP,1:ht.Msg.MIXLY_ESP32_NETWORK_MASK,2:ht.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Bm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Gm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ht.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},Um={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(ht.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(ht.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},wm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},km={init:function(){this.setColour(Nm),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ht.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},Hm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Wm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},Km={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},Jm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},Qm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},qm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},zm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},jm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Zm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},$m={init:function(){this.setColour(Nm),this.appendValueInput("DOMAIN").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ht.Msg.blockpy_REQUESTS_GET).appendField(new ht.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},tO={init:function(){this.appendValueInput("VAL");var t=[[ht.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ht.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ht.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ht.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(Nm),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ht.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ht.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ht.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ht.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},eO={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Nm),this.appendDummyInput("").appendField(ht.Msg.blockpy_CONDUCT).appendField(new ht.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ht.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:ht.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ht.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},iO={init:function(){this.setColour(Nm),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ht.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},nO={init:function(){this.setColour(Nm),this.appendDummyInput("").appendField(new ht.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},sO=100,oO={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendDummyInput().appendField(t).appendField(ht.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},_O={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendValueInput("PIN").appendField(t).appendField(ht.Msg.MOTOR_DC).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pO={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendValueInput("PIN").appendField(t).appendField(ht.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aO={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendDummyInput().appendField(t).appendField(ht.Msg.MIXLY_SPK_STATE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ON,"True"],[ht.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uO=100,rO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("I2CSUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},dO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(ht.Msg.MOTOR_DC).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(ht.Msg.MOTOR_DC).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},TO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_MOVE)}},hO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},MO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ht.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},OO="#A58C5B",EO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SENOR_IS_PRESSED)}},RO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SENOR_WAS_PRESSED)}},cO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_BUTTON+ht.Msg.MIXLY_GET_PRESSES)}},gO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ht.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ht.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},CO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_shake,"shake"],[ht.Msg.MIXLY_UP,"up"],[ht.Msg.MIXLY_DOWN,"down"],[ht.Msg.MIXLY_LEFT,"left"],[ht.Msg.MIXLY_RIGHT,"right"],[ht.Msg.MIXLY_MICROBIT_face_up,"face up"],[ht.Msg.MIXLY_MICROBIT_face_down,"face down"],[ht.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ht.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ht.Msg.MSG.catSensor,s=ht.Msg.MIXLY_MICROBIT_JS_STATE,o=ht.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ht.Msg.MIXLY_MICROBIT_shake,up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT,"face up":ht.Msg.MIXLY_MICROBIT_face_up,"face down":ht.Msg.MIXLY_MICROBIT_face_down,freefall:ht.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},SO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},AO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},LO={init:function(){var t=[[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(OO),this.appendValueInput("PIN",Number).appendField(new ht.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ht.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},NO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},DO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},fO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ht.FieldDropdown([[ht.Msg.TEXT_TRIM_LEFT,"left"],[ht.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ht.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=ht.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ht.Msg.MIXLY_ESP32_NEAR;return i+{left:ht.Msg.TEXT_TRIM_LEFT,right:ht.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},PO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ht.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":ht.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ht.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},FO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ht.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},vO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},YO={init:function(){this.setColour(OO),this.appendDummyInput("").appendField("LM35"+ht.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_LM35)}},xO={init:function(){this.setColour(OO),this.appendValueInput("I2CSUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ht.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},XO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ht.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ht.Msg.MIXLY_ESP32_MAX30102_IR+","+ht.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ht.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ht.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},VO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},yO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.HTML_COLOUR+ht.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GET+ht.Msg.HTML_COLOUR,"[2]"],[ht.Msg.MIXLY_GET+ht.Msg.MIXLY_IR_STRENGTH,"[1]"],[ht.Msg.MIXLY_GET+ht.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},BO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ht.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},GO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},UO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},kO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_Altitude+ht.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETPRESSURE,"pressure()"],[ht.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ht.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MIXGOPE_FIELD+ht.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ht.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},WO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_shake,"shake"],[ht.Msg.MIXLY_UP,"up"],[ht.Msg.MIXLY_DOWN,"down"],[ht.Msg.MIXLY_LEFT,"left"],[ht.Msg.MIXLY_RIGHT,"right"],[ht.Msg.MIXLY_MICROBIT_face_up,"face up"],[ht.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ht.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ht.Msg.MSG.catSensor,s=ht.Msg.MIXLY_MICROBIT_JS_STATE,o=ht.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ht.Msg.MIXLY_MICROBIT_shake,up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT,"face up":ht.Msg.MIXLY_MICROBIT_face_up,"face down":ht.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},KO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},JO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_GET+ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},QO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ht.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},zO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_GETTEMPERATUE)}},jO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return ht.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},ZO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},$O={init:function(){this.setColour(OO),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ht.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},tE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"+ht.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ht.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"+ht.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},iE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"+ht.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},nE={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ht.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sE={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ht.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ht.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},oE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RFID_SCAN_OK,"0"],[ht.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ht.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_E={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ht.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},pE={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},aE={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},uE={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ht.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},LL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},DL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},PL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},FL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},vL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},YL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},xL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},XL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},bL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},VL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},yL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},BL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},GL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},UL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},wL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},kL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},HL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+a+")\n"}},WL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},KL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},JL=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},qL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},zL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},jL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},ZL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},$L=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},tN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},eN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},iN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},nN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},sN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},oN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},_N=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},pN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},aN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},uN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},rN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},dN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},IN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},TN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},hN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},MN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},mN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},ON=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=Mt.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},EN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},RN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},cN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},gN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},CN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},SN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},AN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},LN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},NN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},DN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},fN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},PN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},FN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},vN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},YN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},xN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},bN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},VN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},yN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},BN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},GN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},UN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},wN=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},RD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},cD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},gD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},CD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},SD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},AD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},LD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},ND=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},DD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},fD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},PD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},FD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},vD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},YD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},xD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},XD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+","+s+","+o+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},bD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},VD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},yD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},BD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},GD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==_.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+p+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},UD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},wD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},kD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},QY=function(){return"control.reset()\n"},qY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},zY=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},jY=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},ZY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},$Y=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},tx=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ex=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ix=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},nx=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},sx=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},ox=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},_x=function(){return"while True:\n pass\n"},px=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},ax=function(t,e){return e.definitions_.import_os="import os","os.uname()"},ux=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},rx=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},lx=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},dx=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},Ix=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},Tx=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},hx=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},Mx=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},mx=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},Ox=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},Ex=Tx,Rx=dx,cx=Ix,gx=ux,Cx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ax=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Lx={};Lx["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Mt.Profile.generate(["0-18","21","33-48"]),input_pin:Mt.Profile.generate(["0-18","21","33-48"]),output_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm_input:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Mt.Profile.generate(["1-18"],"adc","adc"),pwm_output:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Mt.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),digital:Mt.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Mt.Profile.generate(["1-18"]),analog:Mt.Profile.generate(["1-18"],"adc","adc"),touch:Mt.Profile.generate(["1-14"],"tc","tc"),touch_pin:Mt.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Mt.Profile.generate(["0-4"]),exlcdh:Mt.Profile.generate(["0-15"]),exlcdv:Mt.Profile.generate(["0-7"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Lx["元控"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Mt.Profile.generate(["0-18","21","33-48"]),input_pin:Mt.Profile.generate(["0-18","21","33-48"]),output_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm_input:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Mt.Profile.generate(["1-18"],"adc","adc"),pwm_output:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Mt.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),digital:Mt.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Mt.Profile.generate(["1-18"]),analog:Mt.Profile.generate(["1-18"],"adc","adc"),touch:Mt.Profile.generate(["1-14"],"tc","tc"),touch_pin:Mt.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Mt.Profile.generate(["0-4"]),exlcdh:Mt.Profile.generate(["0-15"]),exlcdv:Mt.Profile.generate(["0-7"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Lx["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Mt.Profile.generate(["0-18","21","33-48"]),input_pin:Mt.Profile.generate(["0-18","21","33-48"]),output_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm_input:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Mt.Profile.generate(["1-18"],"adc","adc"),pwm_output:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Mt.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),digital:Mt.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Mt.Profile.generate(["1-18"]),analog:Mt.Profile.generate(["1-18"],"adc","adc"),touch:Mt.Profile.generate(["1-14"],"tc","tc"),touch_pin:Mt.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Mt.Profile.generate(["0-4"]),exlcdh:Mt.Profile.generate(["0-15"]),exlcdv:Mt.Profile.generate(["0-7"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Nx=Lx,Dx=20,fx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_HIGH,"HIGH"],[ht.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},Px={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Fx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},vx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField("PWM"+ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},Yx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField("DAC"+ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},xx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_mSecond,"period"],[ht.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},Xx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField("PWM"+ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_FREQUENCY+ht.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},bx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},Vx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_REF_VOLTAGE+ht.Msg.MIXLY_STAT).appendField(new ht.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},yx={init:function(){this.setColour(Dx),this.appendValueInput("pin").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Bx={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ht.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ht.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Gx={init:function(){this.setColour(20),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROPYTHON_AS).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ht.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ht.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ht.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Ux={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("pwm#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+ht.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},wx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("dac#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ht.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},kx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("adc#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ht.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Hx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("tc#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Wx=Gx,Kx=Xx,Jx=Hx,Qx=yx,qx=Bx,zx=230,jx={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Zx={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},tX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},eX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},iX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},nX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},sX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},oX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},_X={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},pX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},aX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},uX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},rX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},lX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},dX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},IX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},TX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},hX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},MX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},mX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},OX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},EX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},RX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},cX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},gX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},CX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},SX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},AX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},LX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},NX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},DX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},fX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},PX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},FX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},vX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},YX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},xX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},XX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},bX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},VX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},yX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},BX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},GX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},UX=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},wX=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},kX=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},HX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},WX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},KX=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},JX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},QX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},qX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},zX=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},jX=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},ZX=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},$X=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},tb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},eb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},ib=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},nb=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},sb=nb,ob=nb,_b=nb,pb=nb,ab=nb,ub=nb,rb=nb,lb=nb,db=nb,Ib=nb,Tb=nb,hb=nb,Mb=nb,mb=nb,Ob=nb,Eb=nb,Rb=nb,cb=nb,gb=nb,Cb=nb,Sb=nb,Ab=nb,Lb=nb,Nb=nb,Db=nb,fb=nb,Pb=nb,Fb=nb,vb=nb,Yb=nb,xb=nb,Xb=nb,bb=nb,Vb=nb,yb=nb,Bb=nb,Gb=nb,Ub=nb,wb=nb,kb=nb,Hb=nb,Wb=nb,Kb=nb,Jb=nb;Object.assign(ht.Variables,Ot),Object.assign(ht.Procedures,Hn),ht.Python=_u,ht.generator=_u,Mt.Profile.default={},Object.assign(Mt.Profile,Nx),Object.assign(Mt.Profile.default,Nx["MixGo CE"]),Object.assign(ht.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,b,H,k,v,V,W,f,w,U,G,y,P,D,N,x,Y,X,F,B,lt,dt),Object.assign(ht.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,et,ut,at,j,it,rt,Q,pt,_t,ot,nt,q,J,K,$,Z,tt,z,st,It,Tt)})(); \ No newline at end of file +class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ht.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ht.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ht.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(ht.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},xt={init:function(){this.setColour(Dt),this.appendValueInput("FROM").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PYTHON_RANGE).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Xt={init:function(){this.setColour(Dt),this.appendValueInput("LIST").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ht.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ht.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bt={init:function(){this.setColour(Dt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ht.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ht.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:ht.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ht.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ht.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ht.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ht.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Dt);var t=new ht.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:ht.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ht.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Bt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ht.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ht.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ht.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ht.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};bt.OPERATORS=[[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],yt.OPERATORS=[[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Ut={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},wt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ht.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(Dt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Wt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ht.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Kt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ht.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Jt={init:function(){this.jsonInit({message0:ht.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Dt,tooltip:ht.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ht.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Qt={init:function(){this.setColour(Dt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_STAT),this.setOutput(!0)}},qt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},zt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ht.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},jt={init:function(){this.appendDummyInput().appendField(ht.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ht.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ht.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ht.FieldDropdown([[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Dt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$t={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},te={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ee={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_GET_UNIQUE_IDEN)}},ie=230;ht.FieldTextInput.math_number_validator=function(t){return String(t)},ht.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ne={init:function(){this.setColour(ie),this.appendDummyInput().appendField(new ht.FieldTextInput("0",ht.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(ie);this.appendDummyInput("").appendField(ht.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ht.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},oe={init:function(){this.setColour(ie);this.appendDummyInput("").appendField(ht.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ht.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ht.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},_e={init:function(){this.setColour(ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ht.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ht.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ht.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},pe={init:function(){this.setColour(ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ht.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ht.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ht.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ht.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ht.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ae={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ht.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ue={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ht.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:ht.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ht.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ht.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ht.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ht.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ht.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ht.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},re={init:function(){var t=[[ht.Msg.MATH_BIN,"bin"],[ht.Msg.MATH_OCT,"oct"],[ht.Msg.MATH_HEX,"hex"]];this.setColour(ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ht.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:ht.Msg.MATH_DEC_TOOLTIP_BIN,oct:ht.Msg.MATH_DEC_TOOLTIP_OCT,hex:ht.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},le={init:function(){var t=[[ht.Msg.LANG_MATH_TO_ROUND,"round"],[ht.Msg.LANG_MATH_TO_CEIL,"ceil"],[ht.Msg.LANG_MATH_TO_FLOOR,"floor"],[ht.Msg.MATH_ABS,"fabs"],[ht.Msg.MATH_SQRT,"sqrt"]];this.setColour(ie),this.appendValueInput("A").setCheck(Number).appendField(new ht.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:ht.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ht.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ht.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ht.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ht.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ht.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},de={init:function(){var t=[[ht.Msg.MIXLY_MAX,"max"],[ht.Msg.MIXLY_MIN,"min"]];this.setColour(ie),this.appendValueInput("A").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ht.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:ht.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ht.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ie={init:function(){var t=[[ht.Msg.MATH_TWO,"two"],[ht.Msg.MATH_EIGHT,"eight"],[ht.Msg.MATH_TEN,"ten"],[ht.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(ie),this.appendDummyInput("").appendField(ht.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ht.FieldDropdown(t),"OP").appendField(ht.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MATH_ZHW).appendField(new ht.FieldDropdown(t),"OP2").appendField(ht.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:ht.Msg.MATH_Before_two,eight:ht.Msg.MATH_Before_eight,ten:ht.Msg.MATH_Before_ten,sixteen:ht.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:ht.Msg.MATH_Behind_two,eight:ht.Msg.MATH_Behind_eight,ten:ht.Msg.MATH_Behind_ten,sixteen:ht.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Te={init:function(){var t=[[ht.Msg.LANG_MATH_INT,"int"],[ht.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ht.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ht.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:ht.Msg.LANG_MATH_INT,float:ht.Msg.LANG_MATH_FLOAT_RANDOM};return ht.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},he={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ht.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ht.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ht.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ht.Msg.MATH_CONSTRAIN_TOOLTIP)}},Me={init:function(){this.setColour(ie),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ht.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ht.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_MATH_MAP)}},me={init:function(){this.setColour(ie),this.appendDummyInput().appendField(new ht.FieldTextInput("0",ht.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ht.Msg.MATH_NUMBER_TOOLTIP)}},Oe={init:function(){this.setColour(ie),this.appendValueInput("NUM").setCheck(Number).appendField(ht.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ee={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MATH_ROUND).appendField(ht.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ht.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ht.Msg.MATH_ROUND_NEW_TOOLTIP)}},Re={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"],[ht.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ie),this.appendValueInput("VAR").appendField(new ht.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ht.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ht.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ht.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ce={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ie),this.appendValueInput("VAR").appendField(new ht.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ht.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ht.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ge=Me,Ce=160,Se={init:function(){this.setColour(Ce),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ht.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ht.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ht.FieldImage(e,12,12,'"')}},Ae={init:function(){this.setColour(Ce),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ht.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ht.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ht.FieldImage(e,12,12,'"')}};ht.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Le={init:function(){this.setColour(Ce),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ht.FieldTextInput("",ht.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ht.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new ht.FieldImage(e,7,12,'"')}},Ne={init:function(){this.setColour(Ce),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ht.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},De={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},fe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(String).appendField(ht.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Pe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Fe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ve={init:function(){this.WHERE_OPTIONS=[[ht.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ht.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ht.Msg.TEXT_GET_INDEX_RANDOM+1+ht.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ht.Msg.LISTS_GET_INDEX_GET,"MODE"),ht.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ht.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ht.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ht.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ht.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:ht.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ht.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ht.Msg.TEXT_GET_INDEX_RANDOM};return ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+ht.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==ht.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),ht.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ht.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new ht.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),ht.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ye={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ht.Msg.LISTS_GET_INDEX_GET+" "+ht.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ht.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_MICROBIT_TYPE_STRING+ht.Msg.LISTS_GET_INDEX_FROM_START+"n"+ht.Msg.TEXT_CHARAT2)}},xe={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ht.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ht.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Xe={init:function(){this.WHERE_OPTIONS_1=[[ht.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ht.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ht.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ht.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ht.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ht.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ht.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==ht.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==ht.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),ht.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(ht.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new ht.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},be={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ht.Msg.LISTS_GET_INDEX_GET+" "+ht.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ht.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ht.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ht.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ve={init:function(){var t=[[ht.Msg.MIXLY_EQUALS,"==="],[ht.Msg.MIXLY_STARTSWITH,"startswith"],[ht.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ht.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ye={init:function(){this.setColour(Ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ht.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_COMPARETO_HELP)}},Be={init:function(){var t=[[ht.Msg.TEXT_UPPER,"upper"],[ht.Msg.TEXT_TITLE,"title"],[ht.Msg.TEXT_CAPITALIZE,"capitalize"],[ht.Msg.TEXT_SWAPCASE,"swapcase"],[ht.Msg.TEXT_LOWER,"lower"]];this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ht.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:ht.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ht.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ht.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ht.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ht.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Ge={init:function(){var t=[[ht.Msg.TEXT_LJUST,"ljust"],[ht.Msg.TEXT_CENTER,"center"],[ht.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ce),this.appendValueInput("VAR").appendField(new ht.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ht.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ht.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Ue={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ht.Msg.MIXLY_MID+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ht.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},we={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},ke={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ht.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ht.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},He={init:function(){this.setColour(Ce),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ht.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ht.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},We={init:function(){var t=[[ht.Msg.TEXT_TRIM_BOTH,"strip"],[ht.Msg.TEXT_TRIM_LEFT,"lstrip"],[ht.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ce),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ht.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ht.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(ht.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:ht.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ht.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ht.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ke={init:function(){this.setColour(Ce),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ht.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ht.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wi={init:function(){this.setColour(Gi),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ki={init:function(){this.setColour(Gi),this.appendDummyInput().appendField(ht.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Hi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_KEYS),this.setTooltip(ht.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Wi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ht.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ht.Msg.DICTS_GET_TOOLTIP)}},Ki={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ht.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ht.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ht.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(Gi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ht.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Qi={init:function(){this.setColour(Gi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ht.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_DELETE_TOOLTIP)}},qi={init:function(){this.setColour(Gi),this.appendValueInput("DICT2").setCheck("Dict").appendField(ht.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ht.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MID),this.setTooltip(ht.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_CLEAR),this.setTooltip(ht.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ji={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_ITEMS),this.setTooltip(ht.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_VALUES),this.setTooltip(ht.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},$i={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LENGTH),this.setTooltip(ht.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},tn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_DELDICT),this.setTooltip(ht.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},en={init:function(){this.MODE=[[ht.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ht.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ht.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=ht.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=ht.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==ht.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new ht.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},nn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ht.Msg.DICTS_ADD_VALUE),this.setTooltip(ht.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},sn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ht.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ht.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_SETDEFAULT_TOOLTIP)}},on={init:function(){this.setColour(Gi),this.appendDummyInput("").appendField(new ht.FieldLabel(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ht.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(Gi),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},pn={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TO_JSON),this.setTooltip(ht.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},an={init:function(){this.setColour(Gi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ht.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},un=210,rn={init:function(){var t=ht.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:ht.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ht.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ht.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ht.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ht.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ht.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},ln={init:function(){var t=ht.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=ht.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new ht.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},dn={init:function(){var t=[[ht.Msg.LOGIC_OPERATION_AND,"AND"],[ht.Msg.LOGIC_OPERATION_OR,"OR"],[ht.Msg.LOGIC_OPERATION_NOR,"NOR"],[ht.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:ht.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ht.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ht.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ht.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},In={init:function(){this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ht.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ht.Msg.LOGIC_NEGATE_TOOLTIP)}},Tn={init:function(){var t=[[ht.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ht.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ht.FieldDropdown(t),"BOOL"),this.setTooltip(ht.Msg.LOGIC_BOOLEAN_TOOLTIP)}},hn={init:function(){this.setColour(un),this.setOutput(!0),this.appendDummyInput().appendField(ht.Msg.LOGIC_NULL),this.setTooltip(ht.Msg.LOGIC_NULL_TOOLTIP)}},Mn={init:function(){this.setColour(un),this.appendValueInput("A"),this.appendValueInput("B").appendField(ht.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ht.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},mn={init:function(){var t=[[ht.Msg.TEXT_APPEND_TO,"in"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(un),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ht.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(ht.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.IN)}},On={init:function(){var t=[[ht.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(un),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},En={init:function(){this.setColour(un),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Rn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ht.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_USE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ht.Msg.MIXLY_BELONG;return i+{r:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_USE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ht.Msg.MIXLY_BELONG,_=ht.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ht.Msg.MIXPY_TEXT_ENCODE).appendField(new ht.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_USE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ht.Msg.MIXLY_BELONG,_=ht.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Sn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ht.Msg.MIXLY_MICROBIT_TYPE_STRING+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},An={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Ln={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ht.Msg.MICROBIT_PYTHON_TYPE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.HTML_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},bn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Vn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ht.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ht.Msg.MIXLY_ESP32_SET+{mkdir:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ht.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.HTML_FILE,"isfile"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Un={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ht.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},wn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ht.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},kn={};kn.NAME_TYPE=ht.PROCEDURE_CATEGORY_NAME,kn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(ht.Msg.MIXLY_AIP_ATTR).setAlign(ht.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys={init:function(){this.setColour(vs),this.appendDummyInput().appendField(ht.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Bs={init:function(){this.setColour(vs),this.appendDummyInput().appendField(ht.Msg.HTML_FORM_CONTENT).appendField(new ht.FieldDropdown([[ht.Msg.HTML_TEXT,"text"],[ht.Msg.HTML_EMAIL,"email"],[ht.Msg.HTML_NUMBER,"number"],[ht.Msg.HTML_PASSWORD,"password"],[ht.Msg.HTML_CHECKBOX,"checkbox"],[ht.Msg.HTML_RADIOBUTTON,"radiobutton"],[ht.Msg.HTML_BUTTON,"button"],[ht.Msg.HTML_COLOUR,"colour"],[ht.Msg.HTML_DATE,"date"],[ht.Msg.HTML_LOCALTIME,"local time"],[ht.Msg.HTML_FILE,"file"],[ht.Msg.HTML_HIDDEN,"hidden"],[ht.Msg.HTML_IMAGE,"image"],[ht.Msg.HTML_MONTH,"month"],[ht.Msg.HTML_RANGE,"range"],[ht.Msg.HTML_RESET,"reset"],[ht.Msg.HTML_SEARCH,"search"],[ht.Msg.HTML_SUBMIT,"submit"],[ht.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ht.Msg.HTML_TIME,"time"],[ht.Msg.HTML_URL,"url"],[ht.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ht.Msg.HTML_NAME).appendField(new ht.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ht.Msg.HTML_VALUE).appendField(new ht.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ht.Msg.MIXLY_AIP_ATTR).setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(vs),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(vs),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(vs),this.appendDummyInput().appendField(ht.Msg.HTML_TEXT).appendField(new ht.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks=160,Hs={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ht.FieldTable(""),"TEXT")}},Ws={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT")}},Ks={init:function(){this.setColour(ks),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Js={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Qs={init:function(){this.setColour(ks),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ht.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},qs={init:function(){this.setColour(ks),this.appendValueInput("VALUE").appendField(ht.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},zs={init:function(){this.setColour(ks),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ht.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ht.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=ht.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},ht.isNumber(n)&&ht.isNumber(s)&&ht.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const xp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Xp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},bp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Vp=function(t,e){return["None",e.ORDER_ATOMIC]},yp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Bp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Gp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Up=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},wp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},kp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Hp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Wp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Kp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Jp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Qp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},jp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Zp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},$p=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ta=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ea=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},sa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},oa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},_a=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},aa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},ra=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},la=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),ht.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Wa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ka=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},qa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},za=function(t,e){return'"},ja=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Za=function(){return this.getFieldValue("TEXT")+"\n"},$a=function(t){return t.getFieldValue("TEXT")+"\n"},tu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},eu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},iu=function(){return""},nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},su=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},_u.scrubNakedValue=function(t){return t+"\n"},_u.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},_u.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},_u.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ht.utils.string.wrap(o,_u.COMMENT_WRAP-3),n+=_u.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const pu="#74A55B",au={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_RGB_PIN_COUNT)}},uu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ru={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},lu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},du={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ht.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ht.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Iu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Tu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_RESET)}},hu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},mu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ou={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Eu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Ru={init:function(){this.setColour(pu),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cu={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_MOVE)}},gu={init:function(){this.setColour(pu),this.appendValueInput("VAR").appendField("360°"+ht.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SETTING+ht.Msg.blockpy_turtle_rotate+ht.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Cu={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("180°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_MOVE)}},Su={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Au={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("180°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lu={init:function(){this.setColour(pu),this.appendValueInput("PIN",Number).appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ht.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ht.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Du={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ht.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ht.Msg.MOTOR_N,"ms32006.MOT_N"],[ht.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},fu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ht.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ht.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Pu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_RGB_PIN_COUNT)}},Fu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},vu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Yu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_WRI)}},xu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ht.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+ht.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},Xu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ht.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},bu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Vu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ht.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ht.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},yu={init:function(){this.setColour(pu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ht.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ht.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Bu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Gu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Uu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},wu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.LISTS_SET_INDEX_SET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ht.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ku={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_WHITE,"W"],[ht.Msg.COLOUR_RGB_RED,"R"],[ht.Msg.COLOUR_RGB_YELLOW,"Y"],[ht.Msg.COLOUR_RGB_GREEN,"G"],[ht.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_WHITE,"W"],[ht.Msg.COLOUR_RGB_RED,"R"],[ht.Msg.COLOUR_RGB_YELLOW,"Y"],[ht.Msg.COLOUR_RGB_GREEN,"G"],[ht.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ht.Msg.MIXLY_SPEED,"[1]"],[ht.Msg.MATH_SINGLE_OP_ABSOLUTE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ht.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ht.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ht.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ht.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ht.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MATH_SINGLE_OP_ABSOLUTE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MODE).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPEED+ht.Msg.MIXLY_MODE,"0"],[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ht.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"0"],[ht.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ht.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},qu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField("("+ht.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MODE).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPEED+ht.Msg.MIXLY_MODE,"0"],[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ht.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},ju={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.ME_GO_MOTOR_EXTERN+ht.Msg.MIXLY_SERVO_MOTOR).appendField(ht.Msg.MIXLY_RELATIVE+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ht.Msg.MSG.run).appendField("("+ht.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LEFT,"0"],[ht.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MODE).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPEED+ht.Msg.MIXLY_MODE,"0"],[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ht.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ht.inputs.Align.RIGHT).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"0"],[ht.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zu={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MOTOR,"ext_motor"],[ht.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ht.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ht.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ht.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ht.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ht.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ht.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(pu),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(ht.Msg.ME_GO_MOTOR_EXTERN).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MOTOR,"ext_motor"],[ht.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ht.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ht.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ht.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ht.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ht.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ht.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tr="#6C9858",er={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},ir={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_ON,"1"],[ht.Msg.MIXLY_ESP32_OFF,"0"],[ht.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},sr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ht.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},or={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},_r={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_BUILDIN_LED+ht.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},pr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ht.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LCD_SETCOLOR).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LIGHT_RED,"1"],[ht.Msg.MIXLY_LIGHT_GREEN,"2"],[ht.Msg.MIXLY_LIGHT_BLUE,"3"],[ht.Msg.MIXLY_LIGHT_YELLOW,"4"],[ht.Msg.MIXLY_LIGHT_CYAN,"5"],[ht.Msg.MIXLY_LIGHT_PURPLE,"6"],[ht.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ar={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},ur={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ht.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},rr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ht.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},lr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING).appendField(ht.Msg.MIXLY_BUILDIN_LED).appendField(new ht.FieldDropdown([[ht.Msg.COLOUR_RGB_RED,"r"],[ht.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_BUILDIN_LED+ht.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},dr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ir={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Tr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_DURATION).appendField(ht.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Mr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ht.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.PYTHON_RANGE_STEP).appendField(ht.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_WRI)}},Or={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Er={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Rr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ht.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.PYTHON_RANGE_STEP).appendField(ht.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cr={init:function(){this.setColour(tr),this.appendValueInput("TICKS").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ht.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ht.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},gr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Cr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_RESET)}},Sr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ar={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Lr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nr={init:function(){this.setColour(tr),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Dr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MOTOR_DC).appendField(new ht.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(tr),this.appendDummyInput().appendField("MixGo Car").appendField(new ht.FieldDropdown([[ht.Msg.blockpy_forward,"F"],[ht.Msg.blockpy_backward,"B"],[ht.Msg.blockpy_left,"L"],[ht.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField("MixGo Car").appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MOTOR_DC).appendField(new ht.FieldDropdown([[ht.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ht.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MOTOR_DC).appendField(new ht.FieldDropdown([[ht.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ht.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_STOP).appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},xr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(new ht.FieldDropdown([[ht.Msg.blockpy_forward,"F"],[ht.Msg.blockpy_backward,"B"],[ht.Msg.blockpy_left,"L"],[ht.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ht.Msg.MIXLY_SPEED,"SPEED"],[ht.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXBOT).appendField(ht.Msg.MIXLY_MOTOR).appendField(new ht.FieldDropdown([[ht.Msg.TEXT_TRIM_LEFT,"1"],[ht.Msg.TEXT_TRIM_RIGHT,"2"],[ht.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ht.Msg.MIXLY_SPEED,"SPEED"],[ht.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Vr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.BITBOT).appendField(new ht.FieldDropdown([[ht.Msg.blockpy_forward,"F"],[ht.Msg.blockpy_backward,"B"],[ht.Msg.blockpy_left,"L"],[ht.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.BITBOT).appendField(new ht.FieldDropdown([[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.BITBOT).appendField(ht.Msg.MIXLY_MOTOR).appendField(new ht.FieldDropdown([[ht.Msg.TEXT_TRIM_LEFT,"0"],[ht.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(tr),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},wr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},kr={init:function(){this.setColour(tr),this.appendValueInput("bright").appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_MIXBOT_BUZZER+ht.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_MIXBOT_BUZZER+ht.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(tr),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_RECORD_AUDIO).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ht.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(tr),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_PLAY_AUDIO).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(tr),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},qr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.LISTS_SET_INDEX_SET+ht.Msg.ME_GO_MOTOR_EXTERN).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.blynk_IOT_IR_POWER+ht.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},jr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.ME_GO_MOTOR_EXTERN).appendField(ht.Msg.PIN_NUMBERING).appendField(new ht.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.blynk_IOT_IR_POWER+ht.Msg.MIXLY_PINMODEOUT+ht.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.LISTS_SET_INDEX_SET+ht.Msg.ME_GO_MOTOR_EXTERN).appendField(ht.Msg.MIXLY_ALL+ht.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ht.ALIGN_RIGHT).appendField(ht.Msg.blynk_IOT_IR_POWER+ht.Msg.MIXLY_PINMODEOUT+ht.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$r={init:function(){this.setColour(tr),this.appendDummyInput().appendField(ht.Msg.ANALOG+ht.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ht.Msg.MIXLY_RELEASE).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.ANALOG+ht.Msg.MIXLY_KEYBOARD_INPUT)}},tl={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SPECIAL_KEY).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ht.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ht.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ht.Msg.MIXLY_SPECIAL_KEY1,"0x04"],[ht.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ht.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ht.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ht.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ht.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GENERAL_KEY).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},il={init:function(){this.setColour(tr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ht.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ht.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$M={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},tm={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},em={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},im={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ht.Msg.MIXLY_EMQX_SERVER).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ht.Msg.MIXLY_WIFI_USERNAME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ht.Msg.MIXLY_IOT_PASSWORD).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ht.Msg.MIXLY_EMQX_PROJECT).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ht.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ht.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},sm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ht.Msg.MIXLY_EMQX_SUBSCRIBE+ht.Msg.MIXLY_MICROBIT_MSG).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},om={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_m={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},am={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},um={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},rm={init:function(){this.setColour(KM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},lm={init:function(){this.setColour(KM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},dm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Im={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO").appendField(ht.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ht.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Tm={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ht.Msg.MIXLY_EMQX_SERVER).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+ht.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour(KM),this.appendDummyInput().appendField(ht.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ht.Msg.MIXLY_EMQX_SERVER).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mm={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(KM),this.appendDummyInput("").appendField(new ht.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},mm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MixIO").appendField(ht.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Om={init:function(){this.setColour(KM),this.appendDummyInput().appendField("HTTP"+ht.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ht.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ht.Msg.MIXLY_REQUESTS_GET).appendField(ht.Msg.MIXLY_GET_CURRENT_TIME).appendField(ht.Msg.MIXLY_OPEN_DEBUG).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Em={init:function(){this.setColour(KM),this.appendDummyInput().appendField("HTTP"+ht.Msg.MIXLY_Client).appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ht.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ht.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MQTT"+ht.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ht.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ht.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ht.Msg.MQTT_Topic).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ht.Msg.MIXLY_OPEN_DEBUG).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cm={init:function(){this.setColour(KM),this.appendDummyInput().appendField("MQTT"+ht.Msg.MIXLY_Client).appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ht.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ht.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},gm=JM,Cm=QM,Sm=qM,Am=zM,Lm=ZM,Nm=225,Dm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ht.Msg.MIXLY_NETWORK_MODE).appendField(new ht.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},fm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ht.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=ht.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ht.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ht.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Pm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Fm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ht.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ht.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},vm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ht.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ht.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Ym={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_CONNECT+ht.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},xm={init:function(){this.setColour(Nm),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ht.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ht.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Xm={init:function(){this.setColour(Nm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},bm={init:function(){this.setColour(Nm),this.appendValueInput("url").appendField(ht.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},Vm={init:function(){this.setColour(Nm),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},ym={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ht.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ht.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ht.Msg.MIXLY_ESP32_NETWORK_IP,1:ht.Msg.MIXLY_ESP32_NETWORK_MASK,2:ht.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Bm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Gm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ht.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},Um={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(ht.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(ht.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},wm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},km={init:function(){this.setColour(Nm),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ht.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},Hm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Wm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},Km={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},Jm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},Qm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},qm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},zm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},jm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Zm={init:function(){this.setColour(Nm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},$m={init:function(){this.setColour(Nm),this.appendValueInput("DOMAIN").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ht.Msg.blockpy_REQUESTS_GET).appendField(new ht.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},tO={init:function(){this.appendValueInput("VAL");var t=[[ht.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ht.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ht.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ht.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(Nm),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ht.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ht.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ht.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ht.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},eO={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Nm),this.appendDummyInput("").appendField(ht.Msg.blockpy_CONDUCT).appendField(new ht.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ht.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:ht.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ht.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},iO={init:function(){this.setColour(Nm),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ht.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},nO={init:function(){this.setColour(Nm),this.appendDummyInput("").appendField(new ht.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},sO=100,oO={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendDummyInput().appendField(t).appendField(ht.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},_O={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendValueInput("PIN").appendField(t).appendField(ht.Msg.MOTOR_DC).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pO={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendValueInput("PIN").appendField(t).appendField(ht.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aO={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(sO),this.appendDummyInput().appendField(t).appendField(ht.Msg.MIXLY_SPK_STATE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ON,"True"],[ht.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uO=100,rO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("I2CSUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},dO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(ht.Msg.MOTOR_DC).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Direction).appendField(new ht.FieldDropdown([[ht.Msg.CLOCKWISE,"CW"],[ht.Msg.ANTI_CLOCKWISE,"CCW"],[ht.Msg.MOTOR_P,"P"],[ht.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(ht.Msg.MOTOR_DC).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},TO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_MOVE)}},hO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},MO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ht.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mO={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(uO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ht.Msg.MIXLY_SERVO).appendField(ht.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},OO="#A58C5B",EO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SENOR_IS_PRESSED)}},RO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_SENOR_WAS_PRESSED)}},cO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.PROCEDURES_DEFRETURN_RETURN+ht.Msg.MIXLY_BUTTON+ht.Msg.MIXLY_GET_PRESSES)}},gO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_BUTTON).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ht.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ht.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},CO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_shake,"shake"],[ht.Msg.MIXLY_UP,"up"],[ht.Msg.MIXLY_DOWN,"down"],[ht.Msg.MIXLY_LEFT,"left"],[ht.Msg.MIXLY_RIGHT,"right"],[ht.Msg.MIXLY_MICROBIT_face_up,"face up"],[ht.Msg.MIXLY_MICROBIT_face_down,"face down"],[ht.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ht.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ht.Msg.MSG.catSensor,s=ht.Msg.MIXLY_MICROBIT_JS_STATE,o=ht.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ht.Msg.MIXLY_MICROBIT_shake,up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT,"face up":ht.Msg.MIXLY_MICROBIT_face_up,"face down":ht.Msg.MIXLY_MICROBIT_face_down,freefall:ht.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},SO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},AO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},LO={init:function(){var t=[[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(OO),this.appendValueInput("PIN",Number).appendField(new ht.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ht.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ht.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},NO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},DO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},fO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ht.FieldDropdown([[ht.Msg.TEXT_TRIM_LEFT,"left"],[ht.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ht.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=ht.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ht.Msg.MIXLY_ESP32_NEAR;return i+{left:ht.Msg.TEXT_TRIM_LEFT,right:ht.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},PO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ht.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":ht.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ht.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},FO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ht.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},vO={init:function(){this.setColour(OO),this.appendValueInput("PIN",Number).appendField("DS18x20 "+ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},YO={init:function(){this.setColour(OO),this.appendDummyInput("").appendField("LM35"+ht.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_LM35)}},xO={init:function(){this.setColour(OO),this.appendValueInput("I2CSUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ht.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},XO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ht.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ht.Msg.MIXLY_ESP32_MAX30102_IR+","+ht.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ht.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ht.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},VO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},yO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.HTML_COLOUR+ht.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GET+ht.Msg.HTML_COLOUR,"[2]"],[ht.Msg.MIXLY_GET+ht.Msg.MIXLY_IR_STRENGTH,"[1]"],[ht.Msg.MIXLY_GET+ht.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},BO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ht.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},GO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},UO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ht.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},kO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_Altitude+ht.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_GETPRESSURE,"pressure()"],[ht.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ht.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MIXGOPE_FIELD+ht.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ht.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},WO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_shake,"shake"],[ht.Msg.MIXLY_UP,"up"],[ht.Msg.MIXLY_DOWN,"down"],[ht.Msg.MIXLY_LEFT,"left"],[ht.Msg.MIXLY_RIGHT,"right"],[ht.Msg.MIXLY_MICROBIT_face_up,"face up"],[ht.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ht.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ht.Msg.MSG.catSensor,s=ht.Msg.MIXLY_MICROBIT_JS_STATE,o=ht.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ht.Msg.MIXLY_MICROBIT_shake,up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT,"face up":ht.Msg.MIXLY_MICROBIT_face_up,"face down":ht.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},KO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},JO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_GET+ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},QO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ht.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ht.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ht.Msg.MIXLY_MICROBIT_Direction,s=ht.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ht.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},zO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_GETTEMPERATUE)}},jO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return ht.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ht.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},ZO={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},$O={init:function(){this.setColour(OO),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ht.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},tE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"+ht.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ht.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"+ht.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},iE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"+ht.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},nE={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ht.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sE={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ht.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ht.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ht.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ht.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},oE={init:function(){this.setColour(OO),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RFID_SCAN_OK,"0"],[ht.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ht.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_E={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ht.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},pE={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},aE={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},uE={init:function(){this.setColour(OO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ht.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},LL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},DL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},PL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},FL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},vL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},YL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},xL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},XL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},bL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},VL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},yL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},BL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},GL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},UL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},wL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},kL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},HL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+a+")\n"}},WL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},KL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},JL=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},qL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},zL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},jL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},ZL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},$L=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},tN=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},eN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},iN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},nN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},sN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},oN=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},_N=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},pN=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},aN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},uN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},rN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},dN=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},IN=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},TN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},hN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},MN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},mN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},ON=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=Mt.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},EN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},RN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},cN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},gN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},CN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},SN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},AN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},LN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},NN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},DN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},fN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},PN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},FN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},vN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},YN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},xN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},bN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},VN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},yN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},BN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},GN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},UN=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},wN=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},RD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},cD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},gD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},CD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},SD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},AD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},LD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},ND=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},DD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},fD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},PD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},FD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},vD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},YD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},xD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},XD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+","+s+","+o+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},bD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},VD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},yD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},BD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},GD=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==_.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+p+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},UD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},wD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},kD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},QY=function(){return"control.reset()\n"},qY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},zY=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},jY=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},ZY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},$Y=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},tx=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ex=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ix=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},nx=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},sx=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},ox=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},_x=function(){return"while True:\n pass\n"},px=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},ax=function(t,e){return e.definitions_.import_os="import os","os.uname()"},ux=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},rx=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},lx=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},dx=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},Ix=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},Tx=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},hx=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},Mx=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},mx=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},Ox=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},Ex=Tx,Rx=dx,cx=Ix,gx=ux,Cx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sx=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ax=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Lx={};Lx["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Mt.Profile.generate(["0-18","21","33-48"]),input_pin:Mt.Profile.generate(["0-18","21","33-48"]),output_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm_input:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Mt.Profile.generate(["1-18"],"adc","adc"),pwm_output:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Mt.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),digital:Mt.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Mt.Profile.generate(["1-18"]),analog:Mt.Profile.generate(["1-18"],"adc","adc"),touch:Mt.Profile.generate(["1-14"],"tc","tc"),touch_pin:Mt.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Mt.Profile.generate(["0-4"]),exlcdh:Mt.Profile.generate(["0-15"]),exlcdv:Mt.Profile.generate(["0-7"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Lx["元控"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Mt.Profile.generate(["0-18","21","33-48"]),input_pin:Mt.Profile.generate(["0-18","21","33-48"]),output_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm_input:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Mt.Profile.generate(["1-18"],"adc","adc"),pwm_output:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Mt.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),digital:Mt.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Mt.Profile.generate(["1-18"]),analog:Mt.Profile.generate(["1-18"],"adc","adc"),touch:Mt.Profile.generate(["1-14"],"tc","tc"),touch_pin:Mt.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Mt.Profile.generate(["0-4"]),exlcdh:Mt.Profile.generate(["0-15"]),exlcdv:Mt.Profile.generate(["0-7"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Lx["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Mt.Profile.generate(["0-18","21","33-48"]),input_pin:Mt.Profile.generate(["0-18","21","33-48"]),output_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm_input:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Mt.Profile.generate(["1-18"],"adc","adc"),pwm_output:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Mt.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),digital:Mt.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Mt.Profile.generate(["0-18","21","33-48"]),pwm:Mt.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Mt.Profile.generate(["1-18"]),analog:Mt.Profile.generate(["1-18"],"adc","adc"),touch:Mt.Profile.generate(["1-14"],"tc","tc"),touch_pin:Mt.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Mt.Profile.generate(["0-4"]),exlcdh:Mt.Profile.generate(["0-15"]),exlcdv:Mt.Profile.generate(["0-7"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Nx=Lx,Dx=20,fx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_HIGH,"HIGH"],[ht.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},Px={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Fx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},vx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField("PWM"+ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},Yx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField("DAC"+ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},xx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_mSecond,"period"],[ht.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},Xx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField("PWM"+ht.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ht.Msg.MIXLY_FREQUENCY+ht.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},bx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},Vx={init:function(){this.setColour(Dx),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_REF_VOLTAGE+ht.Msg.MIXLY_STAT).appendField(new ht.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},yx={init:function(){this.setColour(Dx),this.appendValueInput("pin").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ht.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Bx={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MODE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ht.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ht.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Gx={init:function(){this.setColour(20),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROPYTHON_AS).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ht.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ht.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ht.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Ux={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("pwm#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+ht.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},wx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("dac#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ht.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},kx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("adc#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ht.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Hx={init:function(){this.setColour(Dx),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldTextInput("tc#"),"PIN_OBJ").appendField(ht.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){ht.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},Wx=Gx,Kx=Xx,Jx=Hx,Qx=yx,qx=Bx,zx=230,jx={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Zx={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},tX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},eX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},iX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},nX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},sX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},oX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},_X={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},pX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},aX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},uX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},rX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},lX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},dX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},IX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},TX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},hX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},MX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},mX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},OX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},EX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},RX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},cX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},gX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},CX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},SX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},AX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},LX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},NX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},DX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},fX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},PX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},FX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},vX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},YX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},xX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},XX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},bX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},VX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},yX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},BX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},GX={init:function(){this.setColour(zx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},UX=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},wX=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},kX=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},HX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},WX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},KX=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},JX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".freq("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},QX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},qX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},zX=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},jX=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},ZX=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pwm#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("pwm#"==i?"pwm"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+n+"))\n"},$X=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},tb=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"adc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("adc#"==i?"adc"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+n+"))\n"},eb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},ib=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,ht.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},nb=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},sb=nb,ob=nb,_b=nb,pb=nb,ab=nb,ub=nb,rb=nb,lb=nb,db=nb,Ib=nb,Tb=nb,hb=nb,Mb=nb,mb=nb,Ob=nb,Eb=nb,Rb=nb,cb=nb,gb=nb,Cb=nb,Sb=nb,Ab=nb,Lb=nb,Nb=nb,Db=nb,fb=nb,Pb=nb,Fb=nb,vb=nb,Yb=nb,xb=nb,Xb=nb,bb=nb,Vb=nb,yb=nb,Bb=nb,Gb=nb,Ub=nb,wb=nb,kb=nb,Hb=nb,Wb=nb,Kb=nb,Jb=nb;Object.assign(ht.Variables,Ot),Object.assign(ht.Procedures,Hn),ht.Python=_u,ht.generator=_u,Mt.Profile.default={},Object.assign(Mt.Profile,Nx),Object.assign(Mt.Profile.default,Nx["MixGo CE"]),Object.assign(ht.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,b,H,k,v,V,W,f,w,U,G,y,P,D,N,x,Y,X,F,B,lt,dt),Object.assign(ht.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,et,ut,at,j,it,rt,Q,pt,_t,ot,nt,q,J,K,$,Z,tt,z,st,It,Tt)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/styles/main.1b0705c1.css b/boards/default/micropython_esp32s3/styles/main.2c5133e0.css similarity index 100% rename from boards/default/micropython_esp32s3/styles/main.1b0705c1.css rename to boards/default/micropython_esp32s3/styles/main.2c5133e0.css diff --git a/boards/default/micropython_k210_mixgoai/index.xml b/boards/default/micropython_k210_mixgoai/index.xml index 90427f23..180d20b9 100644 --- a/boards/default/micropython_k210_mixgoai/index.xml +++ b/boards/default/micropython_k210_mixgoai/index.xml @@ -1 +1 @@ -666610006506irp_funcirp_func610510,1,2,3051itestThreadtestThreadWHILETRUEHello Mixly from Thread!ms101000tim_callbacktim_callback5000#ff000090151100a10.998124.821100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly12365a0MixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixPYI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0MixlyMixlyMixly,HelloMixlyprompt67MixlyMixly0XFF00FFcode6i2c67400000i2ci2c00i2c00i2ci2cspi20000010045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345bufow12owowow12345ow12345ow89MixGo AI12345MixGo AI123455socksockmixly.orgsock192.168.0.180sock5sockdatasock1024sockurlRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.400PID01SPK8910MIC8910/sd/MixGo.wavSPK80/sd/MixGo.wavMIC10/sd/MixGo.aviSPK80/sd/MixGo.aviMIC10sensor.B240X240100224224150000000x0000#000000img0x0000#00000000MixGo AI0XFFFF#FFFFFF0X0000#00000089MixGo AI12345mixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012mixio.xbed.cnKPU/sd/MixGoAI.kmodelKPU0.50.35anchorKPUimgKPUimgyolo2calss5MixGo.aiMixGo.aicalssimgASRni-haoASR0.1ASRASRimgimgMixGo.jpgimgimgMixGo.jpgimg0,00xFFFF#FFFFFFimg0,0img0,0,240,240img20imgimgimg00你好,米思齐0xFFFF#FFFFFF12img00MixGo AI0xFFFF#FFFFFF1img160,1201.01.0img10,20,30,400xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img10,200xFFFF#FFFFFF130img40,30,200xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img1.01.0img3img15img0.050.05img110img110img160,1200xFFFF#FFFFFF0.050.05imgimgimg71,95,-60,-41,-128,12700img1-1,-1,-1, -1,8,-1, -1,-1,-1linecirclerectimg0,0,240,24010002525img0,0,240,2401015img0,0,240,240200021002101010img0,0,240,24010000img71,95,-60,-41,-128,1270,0,240,2400,0,00,0,00,0,0255blobhistogram0.5img71,95,-60,-41,-128,1270,0,240,24020020010img0,0,240,240barcodeqrcodeapriltagimg0,0,240,240img0,0,240,240img0,0,240,240 \ No newline at end of file +666610006506irp_funcirp_func610510,1,2,3051itestThreadtestThreadWHILETRUEHello Mixly from Thread!ms101000tim_callbacktim_callback5000#ff000090151100a10.998124.821100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly12365a0MixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixPYI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0MixlyMixlyMixly,HelloMixlyprompt67MixlyMixly0XFF00FFcode6i2c67400000i2ci2c00i2c00i2ci2cspi20000010045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345bufow12owowow12345ow12345ow89MixGo AI12345MixGo AI123455socksockmixly.orgsock192.168.0.180sock5sockdatasock1024sockurlRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.400PID01SPK8910MIC8910/sd/MixGo.wavSPK80/sd/MixGo.wavMIC10/sd/MixGo.aviSPK80/sd/MixGo.aviMIC10sensor.B240X240100224224150000000x0000#000000img0x0000#00000000MixGo AI0XFFFF#FFFFFF0X0000#00000089MixGo AI12345mixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012mixio.xbed.cnKPU/sd/MixGoAI.kmodelKPU0.50.35anchorKPUimgKPUimgyolo2calss5MixGo.aiMixGo.aicalssimgASRni-haoASR0.1ASRASRimgimgMixGo.jpgimgimgMixGo.jpgimg0,00xFFFF#FFFFFFimg0,0img0,0,240,240img20imgimgimg00你好,米思齐0xFFFF#FFFFFF12img00MixGo AI0xFFFF#FFFFFF1img160,1201.01.0img10,20,30,400xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img10,200xFFFF#FFFFFF130img40,30,200xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img1.01.0img3img15img0.050.05img110img110img160,1200xFFFF#FFFFFF0.050.05imgimgimg71,95,-60,-41,-128,12700img1-1,-1,-1, -1,8,-1, -1,-1,-1linecirclerectimg0,0,240,24010002525img0,0,240,2401015img0,0,240,240200021002101010img0,0,240,24010000img71,95,-60,-41,-128,1270,0,240,2400,0,00,0,00,0,0255blobhistogram0.5img71,95,-60,-41,-128,1270,0,240,24020020010img0,0,240,240barcodeqrcodeapriltagimg0,0,240,240img0,0,240,240img0,0,240,240 \ No newline at end of file diff --git a/boards/default/micropython_k210_mixgoai/styles/main.ae5273fa.css b/boards/default/micropython_k210_mixgoai/styles/main.4e66abb5.css similarity index 100% rename from boards/default/micropython_k210_mixgoai/styles/main.ae5273fa.css rename to boards/default/micropython_k210_mixgoai/styles/main.4e66abb5.css diff --git a/boards/default/micropython_nrf51822_microbit/index.xml b/boards/default/micropython_nrf51822_microbit/index.xml index a446ca7e..34effb67 100644 --- a/boards/default/micropython_nrf51822_microbit/index.xml +++ b/boards/default/micropython_nrf51822_microbit/index.xml @@ -1 +1 @@ -0210000,1,2,3051i23390x151100a10.998124.821100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0192010000000000323760x756269740Mixly \ No newline at end of file +0210000,1,2,3051i23390x151100a10.998124.821100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0192010000000000323760x756269740Mixly \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/styles/main.4aa4ee0b.css b/boards/default/micropython_nrf51822_microbit/styles/main.de8dd2dc.css similarity index 100% rename from boards/default/micropython_nrf51822_microbit/styles/main.4aa4ee0b.css rename to boards/default/micropython_nrf51822_microbit/styles/main.de8dd2dc.css diff --git a/boards/default/micropython_nrf51822_mithoncc/index.xml b/boards/default/micropython_nrf51822_mithoncc/index.xml index 7bdc4e3e..3ab91645 100644 --- a/boards/default/micropython_nrf51822_mithoncc/index.xml +++ b/boards/default/micropython_nrf51822_mithoncc/index.xml @@ -1 +1 @@ -1000100,1,2,3051i90x151100a10.998124.821100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt100012MixlyMixly1201201>323760x756269740Mixly \ No newline at end of file +1000100,1,2,3051i90x151100a10.998124.821100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt100012MixlyMixly1201201>323760x756269740Mixly \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_mithoncc/styles/main.11464331.css b/boards/default/micropython_nrf51822_mithoncc/styles/main.c5b53592.css similarity index 100% rename from boards/default/micropython_nrf51822_mithoncc/styles/main.11464331.css rename to boards/default/micropython_nrf51822_mithoncc/styles/main.c5b53592.css diff --git a/boards/default/micropython_robot/index.xml b/boards/default/micropython_robot/index.xml index 6e00d053..2e23f3a1 100644 --- a/boards/default/micropython_robot/index.xml +++ b/boards/default/micropython_robot/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.829971100101010001100501100110000x2x0,1,2,30,1,2,30,1,2,3xMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012http://mixio.mixly.org/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtpathff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5ss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comurl \ No newline at end of file diff --git a/boards/default/micropython_robot/main.bundle.js b/boards/default/micropython_robot/main.bundle.js index d4d09090..81433798 100644 --- a/boards/default/micropython_robot/main.bundle.js +++ b/boards/default/micropython_robot/main.bundle.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class It{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ut.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ut.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ut.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(ut.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Dt={init:function(){this.setColour(gt),this.appendValueInput("FROM").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PYTHON_RANGE).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ft={init:function(){this.setColour(gt),this.appendValueInput("LIST").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ut.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ut.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ft={init:function(){this.setColour(gt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ut.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ut.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:ut.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ut.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Pt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ut.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ut.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},vt={init:function(){this.setColour(gt);var t=new ut.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:ut.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ut.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Yt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ut.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ut.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ut.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ut.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Ft.OPERATORS=[[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],vt.OPERATORS=[[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Xt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ut.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Vt={init:function(){this.setColour(gt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ut.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Gt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ut.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ut={init:function(){this.jsonInit({message0:ut.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:gt,tooltip:ut.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ut.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},wt={init:function(){this.setColour(gt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_STAT),this.setOutput(!0)}},kt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Ht={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ut.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Wt={init:function(){this.appendDummyInput().appendField(ut.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ut.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ut.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ut.FieldDropdown([[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Kt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Qt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},qt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_GET_UNIQUE_IDEN)}},zt=230;ut.FieldTextInput.math_number_validator=function(t){return String(t)},ut.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const jt={init:function(){this.setColour(zt),this.appendDummyInput().appendField(new ut.FieldTextInput("0",ut.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MATH_NUMBER_TOOLTIP)}},Zt={init:function(){this.setColour(zt);this.appendDummyInput("").appendField(ut.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ut.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},$t={init:function(){this.setColour(zt);this.appendDummyInput("").appendField(ut.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ut.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},te={init:function(){this.setColour(zt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ut.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ut.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ut.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ee={init:function(){this.setColour(zt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ut.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ut.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ut.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ie={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ut.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ne={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ut.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:ut.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ut.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ut.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ut.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ut.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ut.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ut.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},se={init:function(){var t=[[ut.Msg.MATH_BIN,"bin"],[ut.Msg.MATH_OCT,"oct"],[ut.Msg.MATH_HEX,"hex"]];this.setColour(zt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ut.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:ut.Msg.MATH_DEC_TOOLTIP_BIN,oct:ut.Msg.MATH_DEC_TOOLTIP_OCT,hex:ut.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},oe={init:function(){var t=[[ut.Msg.LANG_MATH_TO_ROUND,"round"],[ut.Msg.LANG_MATH_TO_CEIL,"ceil"],[ut.Msg.LANG_MATH_TO_FLOOR,"floor"],[ut.Msg.MATH_ABS,"fabs"],[ut.Msg.MATH_SQRT,"sqrt"]];this.setColour(zt),this.appendValueInput("A").setCheck(Number).appendField(new ut.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:ut.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ut.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ut.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ut.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ut.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ut.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},_e={init:function(){var t=[[ut.Msg.MIXLY_MAX,"max"],[ut.Msg.MIXLY_MIN,"min"]];this.setColour(zt),this.appendValueInput("A").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ut.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:ut.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ut.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},pe={init:function(){var t=[[ut.Msg.MATH_TWO,"two"],[ut.Msg.MATH_EIGHT,"eight"],[ut.Msg.MATH_TEN,"ten"],[ut.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(zt),this.appendDummyInput("").appendField(ut.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ut.FieldDropdown(t),"OP").appendField(ut.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MATH_ZHW).appendField(new ut.FieldDropdown(t),"OP2").appendField(ut.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:ut.Msg.MATH_Before_two,eight:ut.Msg.MATH_Before_eight,ten:ut.Msg.MATH_Before_ten,sixteen:ut.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:ut.Msg.MATH_Behind_two,eight:ut.Msg.MATH_Behind_eight,ten:ut.Msg.MATH_Behind_ten,sixteen:ut.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},ae={init:function(){var t=[[ut.Msg.LANG_MATH_INT,"int"],[ut.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(zt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ut.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:ut.Msg.LANG_MATH_INT,float:ut.Msg.LANG_MATH_FLOAT_RANDOM};return ut.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ue={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ut.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ut.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ut.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ut.Msg.MATH_CONSTRAIN_TOOLTIP)}},re={init:function(){this.setColour(zt),this.appendValueInput("NUM",Number).appendField(ut.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ut.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ut.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_MATH_MAP)}},le={init:function(){this.setColour(zt),this.appendDummyInput().appendField(new ut.FieldTextInput("0",ut.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ut.Msg.MATH_NUMBER_TOOLTIP)}},de={init:function(){this.setColour(zt),this.appendValueInput("NUM").setCheck(Number).appendField(ut.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ie={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MATH_ROUND).appendField(ut.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ut.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ut.Msg.MATH_ROUND_NEW_TOOLTIP)}},Te={init:function(){var t=[[ut.Msg.MIXLY_TO_INT,"int"],[ut.Msg.MIXLY_TO_FLOAT,"float"],[ut.Msg.MIXLY_TO_BITES,"b"]];this.setColour(zt),this.appendValueInput("VAR").appendField(new ut.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ut.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ut.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ut.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},he={init:function(){var t=[[ut.Msg.MIXLY_TO_INT,"int"],[ut.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(zt),this.appendValueInput("VAR").appendField(new ut.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ut.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ut.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Me=re,me=160,Oe={init:function(){this.setColour(me),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ut.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ut.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ut.FieldImage(e,12,12,'"')}},Ee={init:function(){this.setColour(me),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ut.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ut.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ut.FieldImage(e,12,12,'"')}};ut.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Re={init:function(){this.setColour(me),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ut.FieldTextInput("",ut.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ut.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new ut.FieldImage(e,7,12,'"')}},ce={init:function(){this.setColour(me),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ut.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ge={init:function(){this.setColour(me),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ce={init:function(){this.setColour(me),this.appendValueInput("VAR").setCheck(String).appendField(ut.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Se={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ae={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Le={init:function(){this.WHERE_OPTIONS=[[ut.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ut.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ut.Msg.TEXT_GET_INDEX_RANDOM+1+ut.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ut.Msg.LISTS_GET_INDEX_GET,"MODE"),ut.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ut.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ut.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ut.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:ut.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ut.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ut.Msg.TEXT_GET_INDEX_RANDOM};return ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+ut.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==ut.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),ut.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ut.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new ut.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),ut.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ne={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ut.Msg.LISTS_GET_INDEX_GET+" "+ut.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ut.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_MICROBIT_TYPE_STRING+ut.Msg.LISTS_GET_INDEX_FROM_START+"n"+ut.Msg.TEXT_CHARAT2)}},De={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ut.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ut.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},fe={init:function(){this.WHERE_OPTIONS_1=[[ut.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ut.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ut.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ut.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ut.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ut.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ut.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==ut.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==ut.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),ut.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(ut.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new ut.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Fe={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ut.Msg.LISTS_GET_INDEX_GET+" "+ut.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ut.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ut.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ut.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Pe={init:function(){var t=[[ut.Msg.MIXLY_EQUALS,"==="],[ut.Msg.MIXLY_STARTSWITH,"startswith"],[ut.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(me),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ut.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ve={init:function(){this.setColour(me),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ut.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_COMPARETO_HELP)}},Ye={init:function(){var t=[[ut.Msg.TEXT_UPPER,"upper"],[ut.Msg.TEXT_TITLE,"title"],[ut.Msg.TEXT_CAPITALIZE,"capitalize"],[ut.Msg.TEXT_SWAPCASE,"swapcase"],[ut.Msg.TEXT_LOWER,"lower"]];this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ut.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:ut.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ut.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ut.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ut.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ut.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},xe={init:function(){var t=[[ut.Msg.TEXT_LJUST,"ljust"],[ut.Msg.TEXT_CENTER,"center"],[ut.Msg.TEXT_RJUST,"rjust"]];this.setColour(me),this.appendValueInput("VAR").appendField(new ut.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ut.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ut.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Xe={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ut.Msg.MIXLY_MID+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ut.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},be={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},ye={init:function(){this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ut.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ut.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ve={init:function(){this.setColour(me),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ut.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ut.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Be={init:function(){var t=[[ut.Msg.TEXT_TRIM_BOTH,"strip"],[ut.Msg.TEXT_TRIM_LEFT,"lstrip"],[ut.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(me),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ut.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ut.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(ut.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:ut.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ut.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ut.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ge={init:function(){this.setColour(me),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ut.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ut.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bi={init:function(){this.setColour(xi),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},yi={init:function(){this.setColour(xi),this.appendDummyInput().appendField(ut.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Vi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_KEYS),this.setTooltip(ut.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Bi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ut.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ut.Msg.DICTS_GET_TOOLTIP)}},Gi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ut.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ut.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ut.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ui={init:function(){this.setColour(xi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ut.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},wi={init:function(){this.setColour(xi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ut.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_DELETE_TOOLTIP)}},ki={init:function(){this.setColour(xi),this.appendValueInput("DICT2").setCheck("Dict").appendField(ut.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ut.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MID),this.setTooltip(ut.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_CLEAR),this.setTooltip(ut.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_ITEMS),this.setTooltip(ut.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ki={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_VALUES),this.setTooltip(ut.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ji={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LENGTH),this.setTooltip(ut.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Qi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_DELDICT),this.setTooltip(ut.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qi={init:function(){this.MODE=[[ut.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ut.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ut.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=ut.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=ut.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==ut.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new ut.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},zi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ut.Msg.DICTS_ADD_VALUE),this.setTooltip(ut.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ji={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ut.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Zi={init:function(){this.setColour(xi),this.appendDummyInput("").appendField(new ut.FieldLabel(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ut.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(xi),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},tn={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TO_JSON),this.setTooltip(ut.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},en={init:function(){this.setColour(xi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ut.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},nn=210,sn={init:function(){var t=ut.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:ut.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ut.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ut.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ut.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ut.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ut.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},on={init:function(){var t=ut.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=ut.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new ut.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},_n={init:function(){var t=[[ut.Msg.LOGIC_OPERATION_AND,"AND"],[ut.Msg.LOGIC_OPERATION_OR,"OR"],[ut.Msg.LOGIC_OPERATION_NOR,"NOR"],[ut.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:ut.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ut.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ut.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ut.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},pn={init:function(){this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ut.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ut.Msg.LOGIC_NEGATE_TOOLTIP)}},an={init:function(){var t=[[ut.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ut.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ut.FieldDropdown(t),"BOOL"),this.setTooltip(ut.Msg.LOGIC_BOOLEAN_TOOLTIP)}},un={init:function(){this.setColour(nn),this.setOutput(!0),this.appendDummyInput().appendField(ut.Msg.LOGIC_NULL),this.setTooltip(ut.Msg.LOGIC_NULL_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ut.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ut.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},ln={init:function(){var t=[[ut.Msg.TEXT_APPEND_TO,"in"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ut.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(ut.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.IN)}},dn={init:function(){var t=[[ut.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Tn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ut.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_USE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ut.Msg.MIXLY_BELONG;return i+{r:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_USE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ut.Msg.MIXLY_BELONG,_=ut.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ut.Msg.MIXPY_TEXT_ENCODE).appendField(new ut.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_USE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ut.Msg.MIXLY_BELONG,_=ut.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},On={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ut.Msg.MIXLY_MICROBIT_TYPE_STRING+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ut.Msg.MICROBIT_PYTHON_TYPE)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.HTML_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ut.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ut.Msg.MIXLY_ESP32_SET+{mkdir:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ut.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.HTML_FILE,"isfile"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ut.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ut.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={};yn.NAME_TYPE=ut.PROCEDURE_CATEGORY_NAME,yn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(ut.Msg.MIXLY_AIP_ATTR).setAlign(ut.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(ut.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(ut.Msg.HTML_FORM_CONTENT).appendField(new ut.FieldDropdown([[ut.Msg.HTML_TEXT,"text"],[ut.Msg.HTML_EMAIL,"email"],[ut.Msg.HTML_NUMBER,"number"],[ut.Msg.HTML_PASSWORD,"password"],[ut.Msg.HTML_CHECKBOX,"checkbox"],[ut.Msg.HTML_RADIOBUTTON,"radiobutton"],[ut.Msg.HTML_BUTTON,"button"],[ut.Msg.HTML_COLOUR,"colour"],[ut.Msg.HTML_DATE,"date"],[ut.Msg.HTML_LOCALTIME,"local time"],[ut.Msg.HTML_FILE,"file"],[ut.Msg.HTML_HIDDEN,"hidden"],[ut.Msg.HTML_IMAGE,"image"],[ut.Msg.HTML_MONTH,"month"],[ut.Msg.HTML_RANGE,"range"],[ut.Msg.HTML_RESET,"reset"],[ut.Msg.HTML_SEARCH,"search"],[ut.Msg.HTML_SUBMIT,"submit"],[ut.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ut.Msg.HTML_TIME,"time"],[ut.Msg.HTML_URL,"url"],[ut.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ut.Msg.HTML_NAME).appendField(new ut.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ut.Msg.HTML_VALUE).appendField(new ut.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ut.Msg.MIXLY_AIP_ATTR).setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new ut.FieldTextInput("property"),"KEY").appendField(":").appendField(new ut.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new ut.FieldTextInput("property"),"KEY").appendField(":").appendField(new ut.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(ut.Msg.HTML_TEXT).appendField(new ut.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ut.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ut.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(ut.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Hs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ut.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ut.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=ut.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},ut.isNumber(n)&&ut.isNumber(s)&&ut.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Dp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},fp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Fp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Pp=function(t,e){return["None",e.ORDER_ATOMIC]},vp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Yp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},xp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Xp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},bp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},yp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Vp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Bp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Gp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Up=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},wp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Hp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Wp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Kp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Jp=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Qp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},qp=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},jp=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Zp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ta=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ea=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},ia=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},na=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},sa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},oa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),ut.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Ba=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ga=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ua=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},wa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ka=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ha=function(t,e){return'"},Wa=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ka=function(){return this.getFieldValue("TEXT")+"\n"},Ja=function(t){return t.getFieldValue("TEXT")+"\n"},Qa=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},qa=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},za=function(){return""},ja=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Za=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},tu.scrubNakedValue=function(t){return t+"\n"},tu.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},tu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},tu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ut.utils.string.wrap(o,tu.COMMENT_WRAP-3),n+=tu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const eu="#74A55B",iu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_RGB_PIN_COUNT)}},nu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},su={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},ou={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},_u={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ut.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ut.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},pu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},au={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_RESET)}},uu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ru={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},lu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},du={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Iu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Tu={init:function(){this.setColour(eu),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hu={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_MOVE)}},Mu={init:function(){this.setColour(eu),this.appendValueInput("VAR").appendField("360°"+ut.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SETTING+ut.Msg.blockpy_turtle_rotate+ut.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},mu={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("180°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ou={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("360°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Eu={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("180°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ru={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("360°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},cu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ut.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ut.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},gu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ut.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ut.Msg.MOTOR_N,"ms32006.MOT_N"],[ut.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Cu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ut.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ut.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Su={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_RGB_PIN_COUNT)}},Au={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Lu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Nu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_WRI)}},Du={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ut.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+ut.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},fu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ut.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Fu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Pu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ut.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ut.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},vu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ut.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ut.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Yu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},xu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Xu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},bu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LISTS_SET_INDEX_SET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_WHITE,"W"],[ut.Msg.COLOUR_RGB_RED,"R"],[ut.Msg.COLOUR_RGB_YELLOW,"Y"],[ut.Msg.COLOUR_RGB_GREEN,"G"],[ut.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_WHITE,"W"],[ut.Msg.COLOUR_RGB_RED,"R"],[ut.Msg.COLOUR_RGB_YELLOW,"Y"],[ut.Msg.COLOUR_RGB_GREEN,"G"],[ut.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ut.Msg.MIXLY_SPEED,"[1]"],[ut.Msg.MATH_SINGLE_OP_ABSOLUTE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ut.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ut.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ut.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ut.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ut.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MATH_SINGLE_OP_ABSOLUTE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MODE).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPEED+ut.Msg.MIXLY_MODE,"0"],[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ut.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"0"],[ut.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ut.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},ku={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField("("+ut.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MODE).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPEED+ut.Msg.MIXLY_MODE,"0"],[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ut.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Wu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField("("+ut.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MODE).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPEED+ut.Msg.MIXLY_MODE,"0"],[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ut.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"0"],[ut.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MOTOR,"ext_motor"],[ut.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ut.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ut.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ut.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ut.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ut.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ut.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MOTOR,"ext_motor"],[ut.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ut.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ut.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ut.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ut.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ut.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ut.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu="#6C9858",qu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},zu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_ON,"1"],[ut.Msg.MIXLY_ESP32_OFF,"0"],[ut.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ju={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zu={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ut.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},$u={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},tr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_BUILDIN_LED+ut.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},er={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LCD_SETCOLOR).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LIGHT_RED,"1"],[ut.Msg.MIXLY_LIGHT_GREEN,"2"],[ut.Msg.MIXLY_LIGHT_BLUE,"3"],[ut.Msg.MIXLY_LIGHT_YELLOW,"4"],[ut.Msg.MIXLY_LIGHT_CYAN,"5"],[ut.Msg.MIXLY_LIGHT_PURPLE,"6"],[ut.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ir={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},nr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ut.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},sr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},or={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_BUILDIN_LED+ut.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_r={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},pr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ar={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_DURATION).appendField(ut.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ut.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.PYTHON_RANGE_STEP).appendField(ut.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_WRI)}},dr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ir={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Tr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ut.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.PYTHON_RANGE_STEP).appendField(ut.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},hr={init:function(){this.setColour(Qu),this.appendValueInput("TICKS").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ut.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ut.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Mr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},mr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_RESET)}},Or={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Er={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Qu),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},gr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MOTOR_DC).appendField(new ut.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"CW"],[ut.Msg.ANTI_CLOCKWISE,"CCW"],[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField("MixGo Car").appendField(new ut.FieldDropdown([[ut.Msg.blockpy_forward,"F"],[ut.Msg.blockpy_backward,"B"],[ut.Msg.blockpy_left,"L"],[ut.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField("MixGo Car").appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ar={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MOTOR_DC).appendField(new ut.FieldDropdown([[ut.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ut.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"CW"],[ut.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MOTOR_DC).appendField(new ut.FieldDropdown([[ut.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ut.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_STOP).appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Dr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(new ut.FieldDropdown([[ut.Msg.blockpy_forward,"F"],[ut.Msg.blockpy_backward,"B"],[ut.Msg.blockpy_left,"L"],[ut.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ut.Msg.MIXLY_SPEED,"SPEED"],[ut.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},fr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(ut.Msg.MIXLY_MOTOR).appendField(new ut.FieldDropdown([[ut.Msg.TEXT_TRIM_LEFT,"1"],[ut.Msg.TEXT_TRIM_RIGHT,"2"],[ut.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ut.Msg.MIXLY_SPEED,"SPEED"],[ut.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Pr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.BITBOT).appendField(new ut.FieldDropdown([[ut.Msg.blockpy_forward,"F"],[ut.Msg.blockpy_backward,"B"],[ut.Msg.blockpy_left,"L"],[ut.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.BITBOT).appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.BITBOT).appendField(ut.Msg.MIXLY_MOTOR).appendField(new ut.FieldDropdown([[ut.Msg.TEXT_TRIM_LEFT,"0"],[ut.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"CW"],[ut.Msg.ANTI_CLOCKWISE,"CCW"],[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Qu),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},yr={init:function(){this.setColour(Qu),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_MIXBOT_BUZZER+ut.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},Vr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_MIXBOT_BUZZER+ut.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},Br={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_RECORD_AUDIO).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ut.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_PLAY_AUDIO).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.LISTS_SET_INDEX_SET+ut.Msg.ME_GO_MOTOR_EXTERN).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.blynk_IOT_IR_POWER+ut.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.ME_GO_MOTOR_EXTERN).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.blynk_IOT_IR_POWER+ut.Msg.MIXLY_PINMODEOUT+ut.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.LISTS_SET_INDEX_SET+ut.Msg.ME_GO_MOTOR_EXTERN).appendField(ut.Msg.MIXLY_ALL+ut.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ut.ALIGN_RIGHT).appendField(ut.Msg.blynk_IOT_IR_POWER+ut.Msg.MIXLY_PINMODEOUT+ut.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Jr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.ANALOG+ut.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ut.Msg.MIXLY_RELEASE).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.ANALOG+ut.Msg.MIXLY_KEYBOARD_INPUT)}},Qr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SPECIAL_KEY).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPECIAL_KEY0,"0"],[ut.Msg.MIXLY_SPECIAL_KEY1,"1"],[ut.Msg.MIXLY_SPECIAL_KEY2,"2"],[ut.Msg.MIXLY_SPECIAL_KEY1,"4"],[ut.Msg.MIXLY_SPECIAL_KEY8,"8"],[ut.Msg.MIXLY_SPECIAL_KEY16,"16"],[ut.Msg.MIXLY_SPECIAL_KEY32,"32"],[ut.Msg.MIXLY_SPECIAL_KEY64,"64"],[ut.Msg.MIXLY_SPECIAL_KEY128,"128"]]),"op"),this.setOutput(!0)}},qr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GENERAL_KEY).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPECIAL_KEY0,"0"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1","0x1E"],["2","0x1F"],["3","0x20"],["4","0x21"],["5","0x22"],["6","0x23"],["7","0x24"],["8","0x25"],["9","0x26"],["0","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["-","0x2D"],["=","0x2E"],["{","0x2F"],["}","0x30"],["\\","0x31"],[";","0x33"],['"',"0x34"],["`","0x35"],[",","0x36"],[".","0x37"],["/","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},zr={init:function(){this.setColour(Qu),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ut.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ut.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},JM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},QM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},zM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ut.Msg.MIXLY_EMQX_SERVER).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ut.Msg.MIXLY_WIFI_USERNAME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ut.Msg.MIXLY_IOT_PASSWORD).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ut.Msg.MIXLY_EMQX_PROJECT).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jM={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ut.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ut.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ZM={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ut.Msg.MIXLY_EMQX_SUBSCRIBE+ut.Msg.MIXLY_MICROBIT_MSG).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},$M={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},em={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},im={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},nm={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},sm={init:function(){this.setColour(GM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},om={init:function(){this.setColour(GM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_m={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},pm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO").appendField(ut.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ut.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},am={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ut.Msg.MIXLY_EMQX_SERVER).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+ut.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},um={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ut.Msg.MIXLY_EMQX_SERVER).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rm={init:function(){this.VISITOR_ID=rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(GM),this.appendDummyInput("").appendField(new ut.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},lm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO").appendField(ut.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},dm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("HTTP"+ut.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ut.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ut.Msg.MIXLY_REQUESTS_GET).appendField(ut.Msg.MIXLY_GET_CURRENT_TIME).appendField(ut.Msg.MIXLY_OPEN_DEBUG).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Im={init:function(){this.setColour(GM),this.appendDummyInput().appendField("HTTP"+ut.Msg.MIXLY_Client).appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ut.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ut.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Tm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MQTT"+ut.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ut.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ut.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ut.Msg.MQTT_Topic).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ut.Msg.MIXLY_OPEN_DEBUG).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MQTT"+ut.Msg.MIXLY_Client).appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ut.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ut.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Mm=UM,mm=wM,Om=kM,Em=HM,Rm=KM,cm=225,gm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ut.Msg.MIXLY_NETWORK_MODE).appendField(new ut.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Cm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ut.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=ut.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ut.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ut.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Sm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Am={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ut.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ut.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Lm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ut.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ut.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Nm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_CONNECT+ut.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Dm={init:function(){this.setColour(cm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ut.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ut.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},fm={init:function(){this.setColour(cm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},Fm={init:function(){this.setColour(cm),this.appendValueInput("url").appendField(ut.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},Pm={init:function(){this.setColour(cm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},vm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ut.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ut.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ut.Msg.MIXLY_ESP32_NETWORK_IP,1:ut.Msg.MIXLY_ESP32_NETWORK_MASK,2:ut.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Ym={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},xm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ut.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},Xm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(ut.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(ut.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},bm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ym={init:function(){this.setColour(cm),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ut.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},Vm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Bm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},Gm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},Um={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},wm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},km={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Hm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Wm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Km={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Jm={init:function(){this.setColour(cm),this.appendValueInput("DOMAIN").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ut.Msg.blockpy_REQUESTS_GET).appendField(new ut.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qm={init:function(){this.appendValueInput("VAL");var t=[[ut.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ut.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ut.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ut.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(cm),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ut.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ut.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ut.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ut.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},qm={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(cm),this.appendDummyInput("").appendField(ut.Msg.blockpy_CONDUCT).appendField(new ut.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ut.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:ut.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ut.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},zm={init:function(){this.setColour(cm),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ut.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},jm={init:function(){this.setColour(cm),this.appendDummyInput("").appendField(new ut.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Zm="#A58C5B",$m={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ut.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SENOR_IS_PRESSED)}},tO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ut.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SENOR_WAS_PRESSED)}},eO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_BUTTON+ut.Msg.MIXLY_GET_PRESSES)}},iO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ut.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ut.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},nO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_shake,"shake"],[ut.Msg.MIXLY_UP,"up"],[ut.Msg.MIXLY_DOWN,"down"],[ut.Msg.MIXLY_LEFT,"left"],[ut.Msg.MIXLY_RIGHT,"right"],[ut.Msg.MIXLY_MICROBIT_face_up,"face up"],[ut.Msg.MIXLY_MICROBIT_face_down,"face down"],[ut.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ut.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ut.Msg.MSG.catSensor,s=ut.Msg.MIXLY_MICROBIT_JS_STATE,o=ut.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ut.Msg.MIXLY_MICROBIT_shake,up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT,"face up":ut.Msg.MIXLY_MICROBIT_face_up,"face down":ut.Msg.MIXLY_MICROBIT_face_down,freefall:ut.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},sO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},_O={init:function(){var t=[[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(new ut.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ut.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},pO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},aO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},uO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ut.FieldDropdown([[ut.Msg.TEXT_TRIM_LEFT,"left"],[ut.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ut.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=ut.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ut.Msg.MIXLY_ESP32_NEAR;return i+{left:ut.Msg.TEXT_TRIM_LEFT,right:ut.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},rO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ut.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":ut.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ut.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},lO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ut.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},dO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField("DS18x20 "+ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},IO={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField("LM35"+ut.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_LM35)}},TO={init:function(){this.setColour(Zm),this.appendValueInput("I2CSUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ut.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},hO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ut.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ut.Msg.MIXLY_ESP32_MAX30102_IR+","+ut.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ut.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ut.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},OO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.HTML_COLOUR+ut.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GET+ut.Msg.HTML_COLOUR,"[2]"],[ut.Msg.MIXLY_GET+ut.Msg.MIXLY_IR_STRENGTH,"[1]"],[ut.Msg.MIXLY_GET+ut.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},EO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ut.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},RO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},gO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},CO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_Altitude+ut.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETPRESSURE,"pressure()"],[ut.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ut.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},SO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MIXGOPE_FIELD+ut.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ut.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},AO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_shake,"shake"],[ut.Msg.MIXLY_UP,"up"],[ut.Msg.MIXLY_DOWN,"down"],[ut.Msg.MIXLY_LEFT,"left"],[ut.Msg.MIXLY_RIGHT,"right"],[ut.Msg.MIXLY_MICROBIT_face_up,"face up"],[ut.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ut.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ut.Msg.MSG.catSensor,s=ut.Msg.MIXLY_MICROBIT_JS_STATE,o=ut.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ut.Msg.MIXLY_MICROBIT_shake,up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT,"face up":ut.Msg.MIXLY_MICROBIT_face_up,"face down":ut.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},LO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},NO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_GET+ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},DO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ut.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},fO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},FO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_GETTEMPERATUE)}},PO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return ut.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},vO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},YO={init:function(){this.setColour(Zm),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ut.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},xO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"+ut.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ut.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},XO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"+ut.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"+ut.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},yO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ut.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},VO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ut.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ut.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},BO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_RFID_SCAN_OK,"0"],[ut.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ut.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},GO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ut.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},UO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},wO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ut.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},_L=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},aL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},rL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},dL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},IL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},TL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},hL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},ML=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},mL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},OL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},EL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},gL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},CL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},SL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+a+")\n"}},AL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},LL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},NL=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},DL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},fL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},FL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},PL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},vL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},YL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},xL=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},XL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},bL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},yL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},VL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},BL=function(t,e){e.definitions_.import_st7789="import st7789";var i=rt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},GL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},UL=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},wL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},kL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},HL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},WL=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},KL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},JL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},QL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},qL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},zL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},jL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},ZL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=rt.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},$L=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},tN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},eN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},iN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},sN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},oN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},_N=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},pN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},aN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},uN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},rN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},lN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},dN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},IN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},TN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},hN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},MN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},mN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},ON=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},EN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},RN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},cN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},gN=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},eD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},iD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},nD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},sD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},oD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},_D=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},pD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},aD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},uD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},rD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},lD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},dD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},ID=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},TD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},hD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+","+s+","+o+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},MD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},mD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},OD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},ED=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},RD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==_.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+p+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},cD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},gD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},CD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},MY=function(){return"control.reset()\n"},mY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||rt.Profile.default.serial)+")\n"},OY=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||rt.Profile.default.serial)+")\n"},EY=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||rt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},RY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},cY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},gY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},CY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},SY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},AY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},LY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},NY=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},DY=function(){return"while True:\n pass\n"},fY=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},FY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},PY=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},vY=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},YY=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},xY=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},XY=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},bY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},yY=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},VY=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},BY=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},GY=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},UY=bY,wY=xY,kY=XY,HY=PY,WY=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KY=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JY=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QY={};QY["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:rt.Profile.generate(["0-11","18-21"]),input_pin:rt.Profile.generate(["0-11","18-21"]),output_pin:rt.Profile.generate(["0-11","18-21"]),pwm_input:rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:rt.Profile.generate(["0-5"],"adc","adc"),pwm_output:rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:rt.Profile.generate(["0-5"],"adc","adc"),espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),digital:rt.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:rt.Profile.generate(["0-11","18-21"]),pwm:rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:rt.Profile.generate(["0-5"]),analog:rt.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:rt.Profile.generate(["0-1"]),als_num:rt.Profile.generate(["0-3"])},QY["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:rt.Profile.generate(["0-3"])},QY["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},QY["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const qY=QY,zY=230,jY={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},ZY={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},$Y={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},tx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},ex={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},ix={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},nx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},sx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},ox={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},_x={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},px={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},ax={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ux={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},rx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},lx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},dx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Ix={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Tx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},hx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Mx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},mx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Ox={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Ex={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Rx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},cx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},Cx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Sx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Ax={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Lx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Nx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Dx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},fx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Fx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},vx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Xx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Gx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Ux=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},wx=Ux,kx=Ux,Hx=Ux,Wx=Ux,Kx=Ux,Jx=Ux,Qx=Ux,qx=Ux,zx=Ux,jx=Ux,Zx=Ux,$x=Ux,tX=Ux,eX=Ux,iX=Ux,nX=Ux,sX=Ux,oX=Ux,_X=Ux,pX=Ux,aX=Ux,uX=Ux,rX=Ux,lX=Ux,dX=Ux,IX=Ux,TX=Ux,hX=Ux,MX=Ux,mX=Ux,OX=Ux,EX=Ux,RX=Ux,cX=Ux;Object.assign(ut.Variables,dt),Object.assign(ut.Procedures,Vn),ut.Python=tu,ut.generator=tu,rt.Profile.default={},Object.assign(rt.Profile,qY),Object.assign(rt.Profile.default,qY["ESP32 Generic"]),Object.assign(ut.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,b,w,U,v,y,k,f,G,B,V,F,D,N,x,Y,X,P,pt),Object.assign(ut.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,$,ot,st,q,tt,_t,K,nt,it,et,J,W,H,j,z,Z,Q,at)})(); \ No newline at end of file +class It{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ut.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ut.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ut.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(ut.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Dt={init:function(){this.setColour(gt),this.appendValueInput("FROM").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PYTHON_RANGE).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ft={init:function(){this.setColour(gt),this.appendValueInput("LIST").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ut.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ut.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ft={init:function(){this.setColour(gt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ut.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ut.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:ut.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ut.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Pt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ut.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ut.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ut.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},vt={init:function(){this.setColour(gt);var t=new ut.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:ut.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ut.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Yt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ut.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ut.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ut.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return ut.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Ft.OPERATORS=[[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],vt.OPERATORS=[[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Xt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ut.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Vt={init:function(){this.setColour(gt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ut.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Gt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ut.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ut={init:function(){this.jsonInit({message0:ut.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:gt,tooltip:ut.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ut.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},wt={init:function(){this.setColour(gt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_STAT),this.setOutput(!0)}},kt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Ht={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ut.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Wt={init:function(){this.appendDummyInput().appendField(ut.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ut.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ut.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ut.FieldDropdown([[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Kt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Qt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},qt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_GET_UNIQUE_IDEN)}},zt=230;ut.FieldTextInput.math_number_validator=function(t){return String(t)},ut.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const jt={init:function(){this.setColour(zt),this.appendDummyInput().appendField(new ut.FieldTextInput("0",ut.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MATH_NUMBER_TOOLTIP)}},Zt={init:function(){this.setColour(zt);this.appendDummyInput("").appendField(ut.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ut.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},$t={init:function(){this.setColour(zt);this.appendDummyInput("").appendField(ut.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ut.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},te={init:function(){this.setColour(zt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ut.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ut.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ut.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ee={init:function(){this.setColour(zt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:ut.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ut.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ut.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ut.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ut.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ie={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ut.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ne={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ut.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:ut.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ut.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ut.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ut.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ut.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ut.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ut.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},se={init:function(){var t=[[ut.Msg.MATH_BIN,"bin"],[ut.Msg.MATH_OCT,"oct"],[ut.Msg.MATH_HEX,"hex"]];this.setColour(zt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ut.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:ut.Msg.MATH_DEC_TOOLTIP_BIN,oct:ut.Msg.MATH_DEC_TOOLTIP_OCT,hex:ut.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},oe={init:function(){var t=[[ut.Msg.LANG_MATH_TO_ROUND,"round"],[ut.Msg.LANG_MATH_TO_CEIL,"ceil"],[ut.Msg.LANG_MATH_TO_FLOOR,"floor"],[ut.Msg.MATH_ABS,"fabs"],[ut.Msg.MATH_SQRT,"sqrt"]];this.setColour(zt),this.appendValueInput("A").setCheck(Number).appendField(new ut.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:ut.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ut.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ut.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ut.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ut.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ut.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},_e={init:function(){var t=[[ut.Msg.MIXLY_MAX,"max"],[ut.Msg.MIXLY_MIN,"min"]];this.setColour(zt),this.appendValueInput("A").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ut.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:ut.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ut.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},pe={init:function(){var t=[[ut.Msg.MATH_TWO,"two"],[ut.Msg.MATH_EIGHT,"eight"],[ut.Msg.MATH_TEN,"ten"],[ut.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(zt),this.appendDummyInput("").appendField(ut.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ut.FieldDropdown(t),"OP").appendField(ut.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MATH_ZHW).appendField(new ut.FieldDropdown(t),"OP2").appendField(ut.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:ut.Msg.MATH_Before_two,eight:ut.Msg.MATH_Before_eight,ten:ut.Msg.MATH_Before_ten,sixteen:ut.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:ut.Msg.MATH_Behind_two,eight:ut.Msg.MATH_Behind_eight,ten:ut.Msg.MATH_Behind_ten,sixteen:ut.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},ae={init:function(){var t=[[ut.Msg.LANG_MATH_INT,"int"],[ut.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(zt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ut.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ut.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:ut.Msg.LANG_MATH_INT,float:ut.Msg.LANG_MATH_FLOAT_RANDOM};return ut.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ue={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ut.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ut.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ut.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ut.Msg.MATH_CONSTRAIN_TOOLTIP)}},re={init:function(){this.setColour(zt),this.appendValueInput("NUM",Number).appendField(ut.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ut.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ut.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_MATH_MAP)}},le={init:function(){this.setColour(zt),this.appendDummyInput().appendField(new ut.FieldTextInput("0",ut.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ut.Msg.MATH_NUMBER_TOOLTIP)}},de={init:function(){this.setColour(zt),this.appendValueInput("NUM").setCheck(Number).appendField(ut.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ie={init:function(){this.setColour(zt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MATH_ROUND).appendField(ut.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ut.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ut.Msg.MATH_ROUND_NEW_TOOLTIP)}},Te={init:function(){var t=[[ut.Msg.MIXLY_TO_INT,"int"],[ut.Msg.MIXLY_TO_FLOAT,"float"],[ut.Msg.MIXLY_TO_BITES,"b"]];this.setColour(zt),this.appendValueInput("VAR").appendField(new ut.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ut.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ut.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ut.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},he={init:function(){var t=[[ut.Msg.MIXLY_TO_INT,"int"],[ut.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(zt),this.appendValueInput("VAR").appendField(new ut.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:ut.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ut.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Me=re,me=160,Oe={init:function(){this.setColour(me),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ut.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ut.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ut.FieldImage(e,12,12,'"')}},Ee={init:function(){this.setColour(me),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ut.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(ut.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new ut.FieldImage(e,12,12,'"')}};ut.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Re={init:function(){this.setColour(me),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ut.FieldTextInput("",ut.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ut.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new ut.FieldImage(e,7,12,'"')}},ce={init:function(){this.setColour(me),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ut.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ge={init:function(){this.setColour(me),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ce={init:function(){this.setColour(me),this.appendValueInput("VAR").setCheck(String).appendField(ut.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Se={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ae={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Le={init:function(){this.WHERE_OPTIONS=[[ut.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ut.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ut.Msg.TEXT_GET_INDEX_RANDOM+1+ut.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ut.Msg.LISTS_GET_INDEX_GET,"MODE"),ut.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ut.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ut.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ut.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ut.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:ut.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ut.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ut.Msg.TEXT_GET_INDEX_RANDOM};return ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+ut.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==ut.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),ut.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ut.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new ut.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),ut.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ne={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ut.Msg.LISTS_GET_INDEX_GET+" "+ut.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ut.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_MICROBIT_TYPE_STRING+ut.Msg.LISTS_GET_INDEX_FROM_START+"n"+ut.Msg.TEXT_CHARAT2)}},De={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ut.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ut.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},fe={init:function(){this.WHERE_OPTIONS_1=[[ut.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ut.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ut.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ut.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ut.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ut.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ut.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==ut.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==ut.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),ut.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(ut.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new ut.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Fe={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ut.Msg.LISTS_GET_INDEX_GET+" "+ut.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ut.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ut.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ut.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Pe={init:function(){var t=[[ut.Msg.MIXLY_EQUALS,"==="],[ut.Msg.MIXLY_STARTSWITH,"startswith"],[ut.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(me),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ut.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ve={init:function(){this.setColour(me),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ut.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_COMPARETO_HELP)}},Ye={init:function(){var t=[[ut.Msg.TEXT_UPPER,"upper"],[ut.Msg.TEXT_TITLE,"title"],[ut.Msg.TEXT_CAPITALIZE,"capitalize"],[ut.Msg.TEXT_SWAPCASE,"swapcase"],[ut.Msg.TEXT_LOWER,"lower"]];this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ut.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:ut.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ut.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ut.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ut.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ut.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},xe={init:function(){var t=[[ut.Msg.TEXT_LJUST,"ljust"],[ut.Msg.TEXT_CENTER,"center"],[ut.Msg.TEXT_RJUST,"rjust"]];this.setColour(me),this.appendValueInput("VAR").appendField(new ut.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ut.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ut.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Xe={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ut.Msg.MIXLY_MID+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ut.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},be={init:function(){this.setColour(me),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},ye={init:function(){this.setColour(me),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ut.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ut.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ve={init:function(){this.setColour(me),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ut.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ut.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Be={init:function(){var t=[[ut.Msg.TEXT_TRIM_BOTH,"strip"],[ut.Msg.TEXT_TRIM_LEFT,"lstrip"],[ut.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(me),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ut.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ut.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(ut.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:ut.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ut.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ut.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ge={init:function(){this.setColour(me),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ut.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ut.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bi={init:function(){this.setColour(xi),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},yi={init:function(){this.setColour(xi),this.appendDummyInput().appendField(ut.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Vi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_KEYS),this.setTooltip(ut.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Bi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ut.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ut.Msg.DICTS_GET_TOOLTIP)}},Gi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ut.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ut.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ut.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ui={init:function(){this.setColour(xi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ut.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},wi={init:function(){this.setColour(xi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ut.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_DELETE_TOOLTIP)}},ki={init:function(){this.setColour(xi),this.appendValueInput("DICT2").setCheck("Dict").appendField(ut.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ut.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MID),this.setTooltip(ut.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_CLEAR),this.setTooltip(ut.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_ITEMS),this.setTooltip(ut.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ki={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_VALUES),this.setTooltip(ut.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ji={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LENGTH),this.setTooltip(ut.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Qi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_DELDICT),this.setTooltip(ut.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qi={init:function(){this.MODE=[[ut.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ut.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ut.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=ut.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=ut.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==ut.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new ut.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},zi={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ut.Msg.DICTS_ADD_VALUE),this.setTooltip(ut.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ji={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ut.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ut.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Zi={init:function(){this.setColour(xi),this.appendDummyInput("").appendField(new ut.FieldLabel(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ut.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(xi),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},tn={init:function(){this.setColour(xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TO_JSON),this.setTooltip(ut.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},en={init:function(){this.setColour(xi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ut.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},nn=210,sn={init:function(){var t=ut.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:ut.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ut.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ut.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ut.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ut.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ut.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},on={init:function(){var t=ut.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=ut.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new ut.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},_n={init:function(){var t=[[ut.Msg.LOGIC_OPERATION_AND,"AND"],[ut.Msg.LOGIC_OPERATION_OR,"OR"],[ut.Msg.LOGIC_OPERATION_NOR,"NOR"],[ut.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:ut.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ut.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ut.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ut.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},pn={init:function(){this.setColour(nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ut.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ut.Msg.LOGIC_NEGATE_TOOLTIP)}},an={init:function(){var t=[[ut.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ut.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ut.FieldDropdown(t),"BOOL"),this.setTooltip(ut.Msg.LOGIC_BOOLEAN_TOOLTIP)}},un={init:function(){this.setColour(nn),this.setOutput(!0),this.appendDummyInput().appendField(ut.Msg.LOGIC_NULL),this.setTooltip(ut.Msg.LOGIC_NULL_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ut.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ut.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},ln={init:function(){var t=[[ut.Msg.TEXT_APPEND_TO,"in"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ut.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(ut.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.IN)}},dn={init:function(){var t=[[ut.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Tn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ut.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_USE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ut.Msg.MIXLY_BELONG;return i+{r:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_USE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ut.Msg.MIXLY_BELONG,_=ut.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ut.Msg.MIXPY_TEXT_ENCODE).appendField(new ut.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_USE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=ut.Msg.MIXLY_BELONG,_=ut.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},On={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ut.Msg.MIXLY_MICROBIT_TYPE_STRING+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ut.Msg.MICROBIT_PYTHON_TYPE)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.HTML_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ut.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ut.Msg.MIXLY_ESP32_SET+{mkdir:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ut.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.HTML_FILE,"isfile"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ut.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ut.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={};yn.NAME_TYPE=ut.PROCEDURE_CATEGORY_NAME,yn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(ut.Msg.MIXLY_AIP_ATTR).setAlign(ut.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(ut.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(ut.Msg.HTML_FORM_CONTENT).appendField(new ut.FieldDropdown([[ut.Msg.HTML_TEXT,"text"],[ut.Msg.HTML_EMAIL,"email"],[ut.Msg.HTML_NUMBER,"number"],[ut.Msg.HTML_PASSWORD,"password"],[ut.Msg.HTML_CHECKBOX,"checkbox"],[ut.Msg.HTML_RADIOBUTTON,"radiobutton"],[ut.Msg.HTML_BUTTON,"button"],[ut.Msg.HTML_COLOUR,"colour"],[ut.Msg.HTML_DATE,"date"],[ut.Msg.HTML_LOCALTIME,"local time"],[ut.Msg.HTML_FILE,"file"],[ut.Msg.HTML_HIDDEN,"hidden"],[ut.Msg.HTML_IMAGE,"image"],[ut.Msg.HTML_MONTH,"month"],[ut.Msg.HTML_RANGE,"range"],[ut.Msg.HTML_RESET,"reset"],[ut.Msg.HTML_SEARCH,"search"],[ut.Msg.HTML_SUBMIT,"submit"],[ut.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ut.Msg.HTML_TIME,"time"],[ut.Msg.HTML_URL,"url"],[ut.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ut.Msg.HTML_NAME).appendField(new ut.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ut.Msg.HTML_VALUE).appendField(new ut.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ut.Msg.MIXLY_AIP_ATTR).setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new ut.FieldTextInput("property"),"KEY").appendField(":").appendField(new ut.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new ut.FieldTextInput("property"),"KEY").appendField(":").appendField(new ut.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(ut.Msg.HTML_TEXT).appendField(new ut.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ut.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ut.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(ut.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Hs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ut.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ut.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=ut.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},ut.isNumber(n)&&ut.isNumber(s)&&ut.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Dp=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},fp=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Fp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Pp=function(t,e){return["None",e.ORDER_ATOMIC]},vp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Yp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},xp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Xp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},bp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},yp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Vp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Bp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Gp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Up=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},wp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Hp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Wp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Kp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Jp=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Qp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},qp=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},jp=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Zp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ta=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ea=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},ia=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},na=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},sa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},oa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),ut.Procedures.NAME_TYPE),n=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Ba=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ga=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ua=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},wa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ka=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ha=function(t,e){return'"},Wa=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ka=function(){return this.getFieldValue("TEXT")+"\n"},Ja=function(t){return t.getFieldValue("TEXT")+"\n"},Qa=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},qa=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},za=function(){return""},ja=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Za=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+_.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+_.join("\n")},tu.scrubNakedValue=function(t){return t+"\n"},tu.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},tu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},tu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ut.utils.string.wrap(o,tu.COMMENT_WRAP-3),n+=tu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const eu="#74A55B",iu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_RGB_PIN_COUNT)}},nu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},su={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},ou={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},_u={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ut.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ut.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},pu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},au={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_RESET)}},uu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ru={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},lu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},du={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Iu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Tu={init:function(){this.setColour(eu),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hu={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_MOVE)}},Mu={init:function(){this.setColour(eu),this.appendValueInput("VAR").appendField("360°"+ut.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SETTING+ut.Msg.blockpy_turtle_rotate+ut.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},mu={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("180°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ou={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("360°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Eu={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("180°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ru={init:function(){this.setColour(eu),this.appendValueInput("PIN",Number).appendField("360°"+ut.Msg.MIXLY_SERVO).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},cu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ut.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ut.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},gu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ut.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ut.Msg.MOTOR_N,"ms32006.MOT_N"],[ut.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Cu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ut.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ut.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Su={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_RGB_PIN_COUNT)}},Au={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Lu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Nu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_WRI)}},Du={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ut.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+ut.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},fu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ut.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Fu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Pu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ut.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ut.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},vu={init:function(){this.setColour(eu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ut.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ut.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Yu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},xu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Xu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},bu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.LISTS_SET_INDEX_SET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ut.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_WHITE,"W"],[ut.Msg.COLOUR_RGB_RED,"R"],[ut.Msg.COLOUR_RGB_YELLOW,"Y"],[ut.Msg.COLOUR_RGB_GREEN,"G"],[ut.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_WHITE,"W"],[ut.Msg.COLOUR_RGB_RED,"R"],[ut.Msg.COLOUR_RGB_YELLOW,"Y"],[ut.Msg.COLOUR_RGB_GREEN,"G"],[ut.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ut.Msg.MIXLY_SPEED,"[1]"],[ut.Msg.MATH_SINGLE_OP_ABSOLUTE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ut.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ut.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ut.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ut.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ut.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MATH_SINGLE_OP_ABSOLUTE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MODE).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPEED+ut.Msg.MIXLY_MODE,"0"],[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ut.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"0"],[ut.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ut.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},ku={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField("("+ut.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MODE).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPEED+ut.Msg.MIXLY_MODE,"0"],[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ut.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Wu={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.ME_GO_MOTOR_EXTERN+ut.Msg.MIXLY_SERVO_MOTOR).appendField(ut.Msg.MIXLY_RELATIVE+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ut.Msg.MSG.run).appendField("("+ut.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LEFT,"0"],[ut.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MODE).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPEED+ut.Msg.MIXLY_MODE,"0"],[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ut.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ut.inputs.Align.RIGHT).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"0"],[ut.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MOTOR,"ext_motor"],[ut.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ut.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ut.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ut.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ut.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ut.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ut.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Ju={init:function(){this.setColour(eu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(ut.Msg.ME_GO_MOTOR_EXTERN).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MOTOR,"ext_motor"],[ut.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ut.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ut.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ut.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ut.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ut.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ut.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qu="#6C9858",qu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},zu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_ON,"1"],[ut.Msg.MIXLY_ESP32_OFF,"0"],[ut.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ju={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zu={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ut.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},$u={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},tr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_BUILDIN_LED+ut.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},er={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ut.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LCD_SETCOLOR).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LIGHT_RED,"1"],[ut.Msg.MIXLY_LIGHT_GREEN,"2"],[ut.Msg.MIXLY_LIGHT_BLUE,"3"],[ut.Msg.MIXLY_LIGHT_YELLOW,"4"],[ut.Msg.MIXLY_LIGHT_CYAN,"5"],[ut.Msg.MIXLY_LIGHT_PURPLE,"6"],[ut.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ir={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},nr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ut.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},sr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ut.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},or={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING).appendField(ut.Msg.MIXLY_BUILDIN_LED).appendField(new ut.FieldDropdown([[ut.Msg.COLOUR_RGB_RED,"r"],[ut.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_BUILDIN_LED+ut.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_r={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},pr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ar={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_DURATION).appendField(ut.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ut.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.PYTHON_RANGE_STEP).appendField(ut.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_WRI)}},dr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(rt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ir={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Tr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ut.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.PYTHON_RANGE_STEP).appendField(ut.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},hr={init:function(){this.setColour(Qu),this.appendValueInput("TICKS").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ut.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ut.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Mr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},mr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_RESET)}},Or={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Er={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Qu),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},gr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MOTOR_DC).appendField(new ut.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"CW"],[ut.Msg.ANTI_CLOCKWISE,"CCW"],[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField("MixGo Car").appendField(new ut.FieldDropdown([[ut.Msg.blockpy_forward,"F"],[ut.Msg.blockpy_backward,"B"],[ut.Msg.blockpy_left,"L"],[ut.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField("MixGo Car").appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ar={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MOTOR_DC).appendField(new ut.FieldDropdown([[ut.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ut.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"CW"],[ut.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MOTOR_DC).appendField(new ut.FieldDropdown([[ut.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ut.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_STOP).appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Dr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(new ut.FieldDropdown([[ut.Msg.blockpy_forward,"F"],[ut.Msg.blockpy_backward,"B"],[ut.Msg.blockpy_left,"L"],[ut.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ut.Msg.MIXLY_SPEED,"SPEED"],[ut.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},fr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXBOT).appendField(ut.Msg.MIXLY_MOTOR).appendField(new ut.FieldDropdown([[ut.Msg.TEXT_TRIM_LEFT,"1"],[ut.Msg.TEXT_TRIM_RIGHT,"2"],[ut.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ut.Msg.MIXLY_SPEED,"SPEED"],[ut.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Pr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.BITBOT).appendField(new ut.FieldDropdown([[ut.Msg.blockpy_forward,"F"],[ut.Msg.blockpy_backward,"B"],[ut.Msg.blockpy_left,"L"],[ut.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.BITBOT).appendField(new ut.FieldDropdown([[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.BITBOT).appendField(ut.Msg.MIXLY_MOTOR).appendField(new ut.FieldDropdown([[ut.Msg.TEXT_TRIM_LEFT,"0"],[ut.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Direction).appendField(new ut.FieldDropdown([[ut.Msg.CLOCKWISE,"CW"],[ut.Msg.ANTI_CLOCKWISE,"CCW"],[ut.Msg.MOTOR_P,"P"],[ut.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Qu),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},yr={init:function(){this.setColour(Qu),this.appendValueInput("bright").appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_MIXBOT_BUZZER+ut.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_SETONOFF)}},Vr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_MIXBOT_BUZZER+ut.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},Br={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_RECORD_AUDIO).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ut.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_PLAY_AUDIO).appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.LISTS_SET_INDEX_SET+ut.Msg.ME_GO_MOTOR_EXTERN).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.blynk_IOT_IR_POWER+ut.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.ME_GO_MOTOR_EXTERN).appendField(ut.Msg.PIN_NUMBERING).appendField(new ut.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.blynk_IOT_IR_POWER+ut.Msg.MIXLY_PINMODEOUT+ut.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.LISTS_SET_INDEX_SET+ut.Msg.ME_GO_MOTOR_EXTERN).appendField(ut.Msg.MIXLY_ALL+ut.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ut.ALIGN_RIGHT).appendField(ut.Msg.blynk_IOT_IR_POWER+ut.Msg.MIXLY_PINMODEOUT+ut.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Jr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(ut.Msg.ANALOG+ut.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ut.Msg.MIXLY_RELEASE).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.ANALOG+ut.Msg.MIXLY_KEYBOARD_INPUT)}},Qr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SPECIAL_KEY).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ut.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ut.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ut.Msg.MIXLY_SPECIAL_KEY1,"0x04"],[ut.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ut.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ut.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ut.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ut.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},qr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GENERAL_KEY).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},zr={init:function(){this.setColour(Qu),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ut.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ut.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},JM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},QM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},zM={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ut.Msg.MIXLY_EMQX_SERVER).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ut.Msg.MIXLY_WIFI_USERNAME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ut.Msg.MIXLY_IOT_PASSWORD).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ut.Msg.MIXLY_EMQX_PROJECT).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jM={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ut.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ut.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ZM={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ut.Msg.MIXLY_EMQX_SUBSCRIBE+ut.Msg.MIXLY_MICROBIT_MSG).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},$M={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},em={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},im={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},nm={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},sm={init:function(){this.setColour(GM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},om={init:function(){this.setColour(GM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_m={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},pm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO").appendField(ut.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ut.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},am={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ut.Msg.MIXLY_EMQX_SERVER).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+ut.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},um={init:function(){this.setColour(GM),this.appendDummyInput().appendField(ut.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ut.Msg.MIXLY_EMQX_SERVER).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rm={init:function(){this.VISITOR_ID=rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(GM),this.appendDummyInput("").appendField(new ut.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},lm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MixIO").appendField(ut.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},dm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("HTTP"+ut.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ut.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ut.Msg.MIXLY_REQUESTS_GET).appendField(ut.Msg.MIXLY_GET_CURRENT_TIME).appendField(ut.Msg.MIXLY_OPEN_DEBUG).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Im={init:function(){this.setColour(GM),this.appendDummyInput().appendField("HTTP"+ut.Msg.MIXLY_Client).appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ut.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ut.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Tm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MQTT"+ut.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ut.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ut.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ut.Msg.MQTT_Topic).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ut.Msg.MIXLY_OPEN_DEBUG).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour(GM),this.appendDummyInput().appendField("MQTT"+ut.Msg.MIXLY_Client).appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ut.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ut.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Mm=UM,mm=wM,Om=kM,Em=HM,Rm=KM,cm=225,gm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ut.Msg.MIXLY_NETWORK_MODE).appendField(new ut.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Cm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ut.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=ut.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ut.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ut.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Sm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Am={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ut.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ut.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Lm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ut.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ut.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Nm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_CONNECT+ut.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Dm={init:function(){this.setColour(cm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ut.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ut.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},fm={init:function(){this.setColour(cm),this.appendValueInput("URL").setCheck(String).appendField("URL"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_UREQUESTS_URL_TOOLTIP)}},Fm={init:function(){this.setColour(cm),this.appendValueInput("url").appendField(ut.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP)}},Pm={init:function(){this.setColour(cm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_URL_REPONSE),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP)}},vm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ut.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ut.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ut.Msg.MIXLY_ESP32_NETWORK_IP,1:ut.Msg.MIXLY_ESP32_NETWORK_MASK,2:ut.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Ym={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},xm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ut.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},Xm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(ut.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(ut.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},bm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ym={init:function(){this.setColour(cm),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ut.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},Vm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Bm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},Gm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},Um={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},wm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},km={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Hm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Wm={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Km={init:function(){this.setColour(cm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Jm={init:function(){this.setColour(cm),this.appendValueInput("DOMAIN").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ut.Msg.blockpy_REQUESTS_GET).appendField(new ut.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){ut.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qm={init:function(){this.appendValueInput("VAL");var t=[[ut.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ut.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ut.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ut.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(cm),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ut.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ut.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ut.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ut.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},qm={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(cm),this.appendDummyInput("").appendField(ut.Msg.blockpy_CONDUCT).appendField(new ut.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ut.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:ut.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ut.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},zm={init:function(){this.setColour(cm),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ut.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},jm={init:function(){this.setColour(cm),this.appendDummyInput("").appendField(new ut.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Zm="#A58C5B",$m={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ut.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SENOR_IS_PRESSED)}},tO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ut.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_SENOR_WAS_PRESSED)}},eO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.PROCEDURES_DEFRETURN_RETURN+ut.Msg.MIXLY_BUTTON+ut.Msg.MIXLY_GET_PRESSES)}},iO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_BUTTON).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MODE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ut.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ut.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},nO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_shake,"shake"],[ut.Msg.MIXLY_UP,"up"],[ut.Msg.MIXLY_DOWN,"down"],[ut.Msg.MIXLY_LEFT,"left"],[ut.Msg.MIXLY_RIGHT,"right"],[ut.Msg.MIXLY_MICROBIT_face_up,"face up"],[ut.Msg.MIXLY_MICROBIT_face_down,"face down"],[ut.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ut.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ut.Msg.MSG.catSensor,s=ut.Msg.MIXLY_MICROBIT_JS_STATE,o=ut.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ut.Msg.MIXLY_MICROBIT_shake,up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT,"face up":ut.Msg.MIXLY_MICROBIT_face_up,"face down":ut.Msg.MIXLY_MICROBIT_face_down,freefall:ut.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},sO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},_O={init:function(){var t=[[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(Zm),this.appendValueInput("PIN",Number).appendField(new ut.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ut.FieldDropdown(t),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ut.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))}},pO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},aO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},uO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ut.FieldDropdown([[ut.Msg.TEXT_TRIM_LEFT,"left"],[ut.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ut.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=ut.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ut.Msg.MIXLY_ESP32_NEAR;return i+{left:ut.Msg.TEXT_TRIM_LEFT,right:ut.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},rO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ut.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":ut.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ut.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},lO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ut.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},dO={init:function(){this.setColour(Zm),this.appendValueInput("PIN",Number).appendField("DS18x20 "+ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},IO={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField("LM35"+ut.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_LM35)}},TO={init:function(){this.setColour(Zm),this.appendValueInput("I2CSUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ut.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["LTR390UV","LTR390UV"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},hO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ut.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ut.Msg.MIXLY_ESP32_MAX30102_IR+","+ut.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ut.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ut.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},OO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.HTML_COLOUR+ut.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GET+ut.Msg.HTML_COLOUR,"[2]"],[ut.Msg.MIXLY_GET+ut.Msg.MIXLY_IR_STRENGTH,"[1]"],[ut.Msg.MIXLY_GET+ut.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},EO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ut.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},RO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},gO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ut.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},CO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_Altitude+ut.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_GETPRESSURE,"pressure()"],[ut.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ut.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},SO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MIXGOPE_FIELD+ut.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ut.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},AO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_shake,"shake"],[ut.Msg.MIXLY_UP,"up"],[ut.Msg.MIXLY_DOWN,"down"],[ut.Msg.MIXLY_LEFT,"left"],[ut.Msg.MIXLY_RIGHT,"right"],[ut.Msg.MIXLY_MICROBIT_face_up,"face up"],[ut.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=ut.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ut.Msg.MSG.catSensor,s=ut.Msg.MIXLY_MICROBIT_JS_STATE,o=ut.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ut.Msg.MIXLY_MICROBIT_shake,up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT,"face up":ut.Msg.MIXLY_MICROBIT_face_up,"face down":ut.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},LO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},NO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_GET+ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},DO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ut.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ut.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ut.Msg.MIXLY_MICROBIT_Direction,s=ut.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ut.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},fO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},FO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_GETTEMPERATUE)}},PO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return ut.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ut.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},vO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},YO={init:function(){this.setColour(Zm),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ut.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},xO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"+ut.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ut.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},XO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"+ut.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},bO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"+ut.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},yO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ut.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},VO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField(ut.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ut.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ut.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ut.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},BO={init:function(){this.setColour(Zm),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_RFID_SCAN_OK,"0"],[ut.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ut.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},GO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ut.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},UO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},wO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kO={init:function(){this.setColour(Zm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ut.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_zero"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+",font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},_L=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},aL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},rL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},dL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},IL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},TL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},hL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},ML=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},mL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},OL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},EL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+","+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},gL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},CL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},SL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+","+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+","+a+")\n"}},AL=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},LL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},NL=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},DL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},fL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},FL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},PL=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},vL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},YL=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},xL=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},XL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},bL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},yL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},VL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},BL=function(t,e){e.definitions_.import_st7789="import st7789";var i=rt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+",dc_pin="+p+",cs_pin="+_+",rotation="+this.getFieldValue("rotate")+",font_address="+n+")\n"},GL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+",x = "+s+",y = "+o+",size = "+_+",color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},UL=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},wL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},kL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},HL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},WL=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},KL=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},JL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+",lcd_width="+s+",i2c_addr="+o+")\n"},QL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},qL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",column = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",line = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},zL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},jL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},ZL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=rt.Boards.getSelectedBoardKey().split(":")[2],_="";return _=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_zero"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+",address="+s+",font_address="+_+")\n"},$L=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},tN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},eN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},iN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",x = "+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},sN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},oN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},_N=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",y = "+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",size = "+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},pN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},aN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},uN=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},rN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},lN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},dN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},IN=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},TN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},hN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");return"mixgo_zero"==i||"mixgo_nova"==i?(e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+",space = "+s+",center = "+o+")\n"):(e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+",space = "+s+",center = "+o+")\n")},MN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},mN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},ON=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},EN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",speed ="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+",space = "+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},RN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},cN=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},gN=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==u.slice(0,2))var r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color="+u+")\n";else{const t=u.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.shows("+n+",x = "+s+",y = "+o+",size = "+_+",space = "+p+",center = "+a+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},eD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},iD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+",size = "+s+",delay = "+o+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},nD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_tft","onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",color=0xffff)\n"},sD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+",y = "+s+",size = "+o+",speed ="+_+",space = "+p+",color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},oD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape");if("0x"==p.slice(0,2))var u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\nonboard_tft.show()\n"}return u},_D=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v");if("0x"==_.slice(0,2))var a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},pD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+")\nonboard_tft.show()\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\nonboard_tft.show()\n"}return a},aD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},uD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},rD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["hex(onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+")))",e.ORDER_ATOMIC]},lD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var _="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+")\nonboard_tft.show()\n";else{const t=o.match(/\d+/g);var p="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&p)>>8|(64512&p)>>5|(255&p)>>3).toString(16)+")\nonboard_tft.show()\n"}return _},dD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";return["onboard_tft.get_brightness()",e.ORDER_ATOMIC]},ID=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},TD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT);if("0x"==n.slice(0,2))var s="onboard_tft.fill("+n+")\nonboard_tft.show()\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");s="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},hD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+","+s+","+o+","+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+","+s+","+o+",0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},MD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},mD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},OD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},ED=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},RD=function(t,e){var i=rt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape");if("0x"==_.slice(0,2))var a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+","+p+")\nonboard_tft.show()\n";else{const t=_.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+","+p+")\nonboard_tft.show()\n"}return a},cD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},gD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},CD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},MY=function(){return"control.reset()\n"},mY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||rt.Profile.default.serial)+")\n"},OY=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||rt.Profile.default.serial)+")\n"},EY=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||rt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||rt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},RY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},cY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},gY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},CY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},SY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},AY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},LY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},NY=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},DY=function(){return"while True:\n pass\n"},fY=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},FY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},PY=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},vY=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},YY=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},xY=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},XY=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},bY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},yY=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},VY=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},BY=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},GY=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},UY=bY,wY=xY,kY=XY,HY=PY,WY=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KY=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JY=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+","+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QY={};QY["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:rt.Profile.generate(["0-11","18-21"]),input_pin:rt.Profile.generate(["0-11","18-21"]),output_pin:rt.Profile.generate(["0-11","18-21"]),pwm_input:rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:rt.Profile.generate(["0-5"],"adc","adc"),pwm_output:rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:rt.Profile.generate(["0-5"],"adc","adc"),espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),digital:rt.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:rt.Profile.generate(["0-11","18-21"]),pwm:rt.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:rt.Profile.generate(["0-5"]),analog:rt.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:rt.Profile.generate(["0-1"]),als_num:rt.Profile.generate(["0-3"])},QY["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:rt.Profile.generate(["0-3"])},QY["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},QY["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:rt.Profile.generate(["1-13"]),haskylens_model:rt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:rt.Profile.generate(["0-16"]),tts_builtin_music:rt.Profile.generate(["0-47"]),tts_bgmusic:rt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const qY=QY,zY=230,jY={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},ZY={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},$Y={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},tx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},ex={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},ix={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},nx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},sx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},ox={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},_x={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},px={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},ax={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ux={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},rx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},lx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},dx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Ix={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Tx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},hx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Mx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},mx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Ox={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Ex={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Rx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},cx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},Cx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Sx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Ax={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Lx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Nx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Dx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},fx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Fx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},vx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Xx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Gx={init:function(){this.setColour(zY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Ux=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},wx=Ux,kx=Ux,Hx=Ux,Wx=Ux,Kx=Ux,Jx=Ux,Qx=Ux,qx=Ux,zx=Ux,jx=Ux,Zx=Ux,$x=Ux,tX=Ux,eX=Ux,iX=Ux,nX=Ux,sX=Ux,oX=Ux,_X=Ux,pX=Ux,aX=Ux,uX=Ux,rX=Ux,lX=Ux,dX=Ux,IX=Ux,TX=Ux,hX=Ux,MX=Ux,mX=Ux,OX=Ux,EX=Ux,RX=Ux,cX=Ux;Object.assign(ut.Variables,dt),Object.assign(ut.Procedures,Vn),ut.Python=tu,ut.generator=tu,rt.Profile.default={},Object.assign(rt.Profile,qY),Object.assign(rt.Profile.default,qY["ESP32 Generic"]),Object.assign(ut.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,b,w,U,v,y,k,f,G,B,V,F,D,N,x,Y,X,P,pt),Object.assign(ut.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,$,ot,st,q,tt,_t,K,nt,it,et,J,W,H,j,z,Z,Q,at)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/styles/main.3bcb54bb.css b/boards/default/micropython_robot/styles/main.4c7b6bb5.css similarity index 100% rename from boards/default/micropython_robot/styles/main.3bcb54bb.css rename to boards/default/micropython_robot/styles/main.4c7b6bb5.css